python - 基于分隔符从python中的字符串中提取子字符串

标签 python string python-2.7 python-3.x substring

我有一个输入字符串:-

    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/

相关文章:

python - XGBoost 对列表与数组的预测略有不同,哪个是正确的?

python 制作我自己的小写转换器

java - 从字符串中删除列表或数组的元素

java - 从 basic_string 到 jstring 的转换

python - 使用 Carla 创建超车(硬编码)场景

python - 如何安装与不同版本的Python关联的pip

python - Google App Engine 启动器未运行应用程序

python zerorpc和多处理问题

python 、 Pandas : Using isin() like functionality but do not ignore duplicates in input list

python - 暂停 Python 控制台