天天看点

python删除字符串中的数字_Python字符串中去除数字之间的逗号

在西文数字的表示中,很多格式是类似这样:123,456,789。如果得到这样的一个字符串,直接用int转换成整型肯定报错,那么在格式转换前需要先去除数字之间的逗号 。如果字符串只有数字和“,”,那么可以用一个replace替换。

例如:

>>> n = '123,456,789'

>>> n1 = n.replace(',','')

>>> print n1

123456789

但是,如果当字符串中包括数字和其他字符,replace替换就有点霸道了。例如:Today is Sunday, I bought $ 100,000. 直接用replace替换会把字符串中的逗号标点符号也删除了。

python删除字符串中的数字_Python字符串中去除数字之间的逗号

所以需要找到 数字,数字 这种格式之前的逗号。

代码类似如下:

import re

s = 'Today is Sunday, I bought $ 100,000.'

p = re.compile(r'\d,\d')

while 1:

m = p.search(s)

if m:

mm = m.group()

s = s.replace(mm,mm.replace(',',''))

else:

break

print s

主要就是用正则表达式判断。

python删除字符串中的数字_Python字符串中去除数字之间的逗号