我正在尝试提取两个字符串标识符之间的字符串部分。如果在第一行进行搜索,则该技术有效,但不适用于其他行中的子字符串。
字符串是这样的:
mystring="""abc jhfshf iztzrtzoi hjge);
kjsyh ldjfsj sjsdgj sodfsd);
sjfhsdvh isdjgdfg sdgjhg isjdgg);
ghdcbnv jgdfkjg fdjgjfdgj);
vgdfnkvgfd dfgjfdjgjöfd);
end"""
到目前为止,我有以下代码。
startString='jhfshf'
endString=';'
search_var=mystring[mystring.find(startString)+len(startString):mystring.find(endString)]
print(search_var)
我得到正确的输出,如 iztzrtzoi hjge)
但是,如果我在第二行中搜索字符串,例如(startString=ldjfsj)
,则不起作用。身体可以建议一些改变以进行纠正吗?
使用正则表达式。
演示:
import re
mystring="""abc jhfshf iztzrtzoi hjge);
kjsyh ldjfsj sjsdgj sodfsd);
sjfhsdvh isdjgdfg sdgjhg isjdgg);
ghdcbnv jgdfkjg fdjgjfdgj);
vgdfnkvgfd dfgjfdjgjöfd);
end"""
m = re.search("(?<=jhfshf).*?(?=\;)", mystring)
if m:
print( m.group() )
输出:
iztzrtzoi hjge)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句