在比赛后替换字符串中的数字。
t = 'String_BA22_FR22_BC'
re.sub(r'FR(\d{1,})','',t)
我想要的输出为String_BA22_FR_BC
答案 0 :(得分:2)
您可以使用
re.sub(r'FR\d+','FR',t)
或者,您可以使用capturing group捕获需要保留的部分,并用\1
backreference替换:
re.sub(r'(FR)\d+', r'\1', t)
^--^- >>>----^
请参见Python demo
捕获组方法非常灵活,因为它允许无限长度的模式。
答案 1 :(得分:1)
您正在用空字符串替换您匹配的内容(在这种情况下为FR22
)。
另一种选择是使用正数lookbehind,然后将匹配的1+位数字替换为空字符串>
(?<=FR)\d+
例如:
re.sub(r'(?<=FR)\d+','',t)