我有一个输入字符串:-
a=1|b=2|c=3|d=4|e=5 and so on...
我想做的是从一个很长的相似模式字符串中提取 d=4 部分。有什么方法可以根据起点分隔符和终点分隔符获取子字符串吗?
这样,我可以从 'd=' 开始搜索直到 '|'提取其值(value)。欢迎提供任何见解。
最佳答案
你可以在这里使用正则表达式
:
>>> data = 'a=1|b=2|c=3|d=4|e=5'
>>> var = 'd'
>>> output = re.search('(?is)('+ var +'=[0-9]*)\|',data).group(1)
>>> print(output)
'd=4'
或者你也可以使用split
,这是更推荐的选项:
>>> data = 'a=1|b=2|c=3|d=4|e=5'
>>> output = data.split('|')
>>> print(output[3])
'd=4'
或者你也可以使用 dic
:
>>> data = 'a=1|b=2|c=3|d=4|e=5'
>>> output = dict(i.split('=') for i in data.split('|'))
{'a': '1', 'b': '2', 'c': '3', 'd': '4', 'e': '5'}
>>> output ['d']
'4'
关于python - 基于分隔符从python中的字符串中提取子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43840717/