在字符串中搜索特定文本并获取字符串的特定部分

时间:2018-02-03 22:12:13

标签: python

我正在慢慢学习Python,并试图了解如何使用字符串。

已经知道如何拆分字符串,搜索字符串中的特定文本和字符等。

我想知道如何应对以下情况:

在字符串中搜索特定的“单词”,当找到单词时,跳转X个字符并将所有内容保存在变量中直到下一个“

只是一个例子:

metric="123"submetric='234232423'cpu="A2324324324242423B"Memory="12sdfa3"HD="23423234242423"TEMP="A3243242423B"metric="adsdf123"submetric='232423'cpu="A2324324dafdas324242423B"Memory="12s3"HD="234232456634242423"TEMP="A324324644242423B"

在上面的情况中,搜索“metric,submetric,cpu,memory,hd和temp”并保存其结果。

1 个答案:

答案 0 :(得分:0)

这是一种方式:

import re

mystr = 'metric="123"submetric="234232423"cpu="A2324324324242423B"Memory="12sdfa3"HD="23423234242423"TEMP="A3243242423B"metric="adsdf123"submetric="232423"cpu="A2324324dafdas324242423B"Memory="12s3"HD="234232456634242423"TEMP="A324324644242423B"'

lst = re.split('=|"', mystr)
indices = [i for i, j in enumerate(lst) if j=='Memory']
values = [lst[i+2] for i in indices]  # ['12sdfa3', '12s3']