我在Python中有一个字符串:
Tt = "This is a <\"string\">string, It should be <\"changed\">changed to <\"a\">a nummber."
print Tt
'This is a <"string">string, It should be <"changed">changed to <"a">a nummber.'
Run Code Online (Sandbox Code Playgroud)
你会看到这部分内容有些重复 <\" \">.
我的问题是,如何删除那些重复的部分(用命名字符分隔)?
结果应该是:
'This is a string, It should be changed to a nummber.'
Run Code Online (Sandbox Code Playgroud)
使用正则表达式:
import re
Tt = re.sub('<\".*?\">', '', Tt)
Run Code Online (Sandbox Code Playgroud)
注意?后*.它使表达非贪婪,所以它试图之间所以几个符号匹配<\"和\">越好.
James的解决方案仅适用于分隔子串仅由一个字符(<和>)组成的情况.在这种情况下,可以使用像[^>].如果要删除用字符序列分隔的子字符串(例如with begin和end),则应使用非贪婪的正则表达式(即.*?).