【发布时间】:2012-10-02 20:09:02
【问题描述】:
如何从字符串中删除数字?
【问题讨论】:
-
与
re:result = re.sub(r'[0-9]+', '', s) -
使用正则表达式,您需要添加 \。另外,我认为它可以是十进制数。结果 = re.sub(r'[0-9\.]+', '', s)
-
"\d"在正则表达式中与"[0-9]"相同,因此您可以改为使用result = re.sub(r"\d+", "", s)。速度可能取决于所使用的特定字符串,但对我来说,re.sub花费的时间大约是str.translate的两倍(如果您不使用预编译模式,时间会稍长一些)。 -
@WiktorStribiżew,您的回答工作正常,但它在文件中添加了一个新行。有什么原因吗?
-
@LakshmiYadav
re.sub(r'[0-9]+', '', s)removes 找到匹配项(请参阅第二个空字符串参数),它不能添加任何内容。检查您的代码。