在Python中搜索并替换字符串中的某些文本?
我想搜索多行文本,查看每行是否有在Python中搜索并替换字符串中的某些文本?,python,Python,我想搜索多行文本,查看每行是否有语句=“后跟一些文本,并以“/>”结尾。如果是,请查看语句=“和”/>之间的文本是否具有“,如果是,请将其替换为”。例如,其中一行是: <number="4" word="start" sentence="I said, "start!"" /> 我想把它改成 <number="4" word="start" sentence="I said, 'start!'" /> 请注意,在文本的每一行中,这种情况可能会发生多次 我想知道
语句=“
后跟一些文本,并以“/>”结尾
。如果是,请查看语句=“
和”/>之间的文本是否具有“
,如果是,请将其替换为”
。例如,其中一行是:
<number="4" word="start" sentence="I said, "start!"" />
我想把它改成
<number="4" word="start" sentence="I said, 'start!'" />
请注意,在文本的每一行中,这种情况可能会发生多次
我想知道如何在Python中使用正则表达式来实现这一点?谢谢!您可以提供一个可调用的tore.sub
来告诉它用什么替换匹配对象:
s = """<number="4" word="start" sentence="I said, "start!"" />"""
re.sub(r'(?<=sentence=")(.*)(?=" />)', lambda m: m.group().replace('"',"'"), s)
Out[179]: '<number="4" word="start" sentence="I said, \'start!\'" />'
s=“”
re.sub(r'(?)',lambda m:m.group().replace('“,'”),s)
出[179]:“
我假设您的示例的语句
属性应该是实例
?(反之亦然)@roippi:oops。“实例”应为“句子”+1我无法正确获取最后一个”
,带有re.sub(r'station=“(.*)”\s*/>',lambda x:x.group(0)。替换(“,”),数据)
:(