在 Python 中替换字符串的第一个匹配项

我有一些样本字符串。如何用空字符串替换较长字符串中此字符串的第一个匹配项?

regex = re.compile('text')
match = regex.match(url)
if match:
url = url.replace(regex, '')
162868 次浏览

直接使用 re.sub,这允许您指定一个 count:

regex.sub('', url, 1)

(请注意,参数的顺序是 replacementoriginal不是相反的,因为可能会怀疑。)

String 取代()函数完美地解决了这个问题:

Place (s,old,new [ ,maxplace ])

返回一个字符串 s 的副本,其中所有出现的子字符串由 new 替换。如果给定可选参数 maxplace,则替换第一个 maxplace。

>>> u'longlongTESTstringTEST'.replace('TEST', '?', 1)
u'longlong?stringTEST'