什么是用于复制后面有数字2的单词的python代码?

什么是用于复制后面有数字2的单词的python代码?,python,regex,duplicates,Python,Regex,Duplicates,例如,如果字符串为really2,我想将其替换为really 我想重复的字连字符以及 我可以避免使用正则表达式吗 非常感谢 不需要正则表达式: >>> a = 'blah foo2 bar' >>> ' '.join((i[:-1]+'-'+i[:-1]) if i.endswith('2') else i for i in a.split()) 'blah foo-foo bar' >>> 如果你决定把所有其他数字都包括进去,并把这个

例如,如果字符串为really2,我想将其替换为really

我想重复的字连字符以及

我可以避免使用正则表达式吗


非常感谢

不需要正则表达式:

>>> a = 'blah foo2 bar'
>>> ' '.join((i[:-1]+'-'+i[:-1]) if i.endswith('2') else i for i in a.split()) 
'blah foo-foo bar'
>>> 

如果你决定把所有其他数字都包括进去,并把这个词重复几次,事情可能会变得更复杂。但是,由于您只询问了复制的问题,所以这一个已经足够好了。

虽然您可以在没有正则表达式的情况下进行复制,但使用正则表达式进行复制要容易得多。如果需要,代码将更具可读性,并且易于修改

import re
s = "if the string is really2, I want to replace it"
re.sub(r'(\w+)2', r'\1-\1', s)
# 'if the string is really-really, I want to replace it'

你不需要一个正则表达式,除非你精确的要求。你只想要2个?如果字符串是“really3”怎么办?还是“真的22”?