如何从字符串中删除标有特殊字符的子字符串?

Rit*_*ita -2 python regex

我在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)

Igo*_*bin 5

使用正则表达式:

import re
Tt = re.sub('<\".*?\">', '', Tt)
Run Code Online (Sandbox Code Playgroud)

注意?*.它使表达非贪婪,所以它试图之间所以几个符号匹配<\"\">越好.

James的解决方案仅适用于分隔子串仅由一个字符(<>)组成的情况.在这种情况下,可以使用像[^>].如果要删除用字符序列分隔的子字符串(例如with beginend),则应使用非贪婪的正则表达式(即.*?).