在西文數字的表示中,很多格式是類似這樣:123,456,789。如果得到這樣的一個字符串,直接用int轉換成整型肯定報錯,那么在格式轉換前需要先去除數字之間的逗號 。如果字符串只有數字和“,”,那么可以用一個replace替換。
例如:
>>> n = '123,456,789' >>> n1 = n.replace(',','') >>> print n1 123456789
但是,如果當字符串中包括數字和其他字符,replace替換就有點霸道了。例如:Today is Sunday, I bought $ 100,000. 直接用replace替換會把字符串中的逗號標點符號也刪除了。
所以需要找到 數字,數字 這種格式之前的逗號。
代碼類似如下:
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
主要就是用正則表達式判斷。