python-3.x - 如何从较大的字符串字符中减去多个字符串?
问题描述
我有这样的输入数据 -
TKTID000;SITEIDNYL01101;VIPPASS123456;TKTSOWTEST
我需要以下表格 -
TKTID = 0000
SITEID = NYL01101
VIPPASS = 123456
TKTSOW = TEST
其中 TKTID、SITEID、VIPPASS、TKTSOW 将始终保持不变。
如何在 python 3.X 中编写函数以获得期望的结果?我是python新手,在网上搜索,找不到解决方案,不胜感激。
text1 = "TKTID000"
text2 = "SITEIDNYL01101"
text3 = "VIPPASS123456"
text4 = "TKTSOWTEST"
sht1 = "TKTID"
sht2 = "SITEID"
sht3 = "VIPPASS"
sht4 = "TKTSOW "
input1 =text1.replace(sht1,'')
input2 =text2.replace(sht2,'')
input3 =text2.replace(sht3,'')
input4 =text4.replace(sht4,'')
print(input1)
print(input2)
print(input3)
print(input4)
提前致谢 !
解决方案
如果您的数据输入始终与上面显示的常量的顺序相同,您可以这样做
data = "TKTID000;SITEIDNYL01101;VIPPASS123456;TKTSOWTEST"
constants = ["TKTID", "SITEID", "VIPPASS", "TKTSOW"]
for i,d in enumerate(data.split(";")):
print(f"{constants[i]}={d[len(constants[i]):]}")
输出:
TKTID=000
SITEID=NYL01101
VIPPASS=123456
TKTSOW=TEST
这使用字符串切片从字符串中切出第一部分。切片的内容基于常量字符串/数据拆分事物中的位置。
推荐阅读
- node.js - 如何完全擦除 Windows 中的控制台输出?
- html - 显示在其他元素下方的工具提示 z-index
- angular - 如何使用离子绕过铬中的CORB
- prolog - 如何在 Prolog Family Code 中找到侄子?
- php - Codeigniter 中的多租户,通过子域选择不同的数据库
- python - Slack bot rtm connect 在代理后面失败,使用 python slackclient
- c# - 在流程中触发事件和回调的正确/推荐方式是什么?
- android - 获取 JSONArray 结果为“org.json.JSONException: Value{data}”
- react-native - 如何在对象 react-native 中获取数组大小
- javascript - 检查 redux store 中的 key 现在是否连接到 DOM 中的任何组件