首页 > 解决方案 > 正则表达式搜索一个单词并提取直到一个字符

问题描述

在解析字符串时需要帮助,其中包含每个属性的值。下面是我的示例字符串...

Type=<Series VR> Model=<1Ac4> ID=<34> conn seq=<2>

从上面,我要生成的属性值如下。

Type=Series VR
Model=1Ac4
ID=34
conn seq=2

我是使用正则表达式的新手。任何帮助表示赞赏。谢谢

标签: pythonregexapache-sparkpyspark

解决方案


此脚本将从字符串中提取键、值:

import re

s = 'Type=<Series VR> Model=<1Ac4> ID=<34> conn seq=<2>'

for k, v in re.findall(r'([^=]+)=<([^>]+)>\s*', s):
    print('{}={}'.format(k, v))

印刷:

Type=Series VR
Model=1Ac4
ID=34
conn seq=2

编辑:您可以将键、值提取到字典中,然后通过以下方式访问它.get()

import re

s = 'Type=<Series VR> Model=<1Ac4> ID=<34> conn seq=<2>'

d = dict(re.findall(r'([^=]+)=<([^>]+)>\s*', s))

print(d.get('Model', ''))
print(d.get('NonExistentKey', ''))

印刷:

1Ac4

 

推荐阅读