我正在慢慢学习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”并保存其结果。
答案 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']