May*_*Jha 3 python string substring python-2.7 python-3.x
我有一个输入字符串,如:-
a=1|b=2|c=3|d=4|e=5 and so on...
Run Code Online (Sandbox Code Playgroud)
我想要做的是从一个很长的相似模式字符串中提取 d=4 部分。有没有办法根据起点定界符和终点定界符获得子字符串?
这样,我可以从 'd=' 开始搜索直到 '|' 提取其价值。欢迎提供任何见解。
你可以regex在这里使用:
>>> 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'
Run Code Online (Sandbox Code Playgroud)
或者您也可以使用split更推荐的选项:
>>> data = 'a=1|b=2|c=3|d=4|e=5'
>>> output = data.split('|')
>>> print(output[3])
'd=4'
Run Code Online (Sandbox Code Playgroud)
或者你也可以使用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'
Run Code Online (Sandbox Code Playgroud)