sử dụng một regex sẽ đáng tin cậy hơn
import re
decmark_reg = re.compile('(?<=\d),(?=\d)')
ss = 'abc , 2,5 def ,5,88 or (2,5, 8,12, 8945,3)'
print ss
print decmark_reg.sub('.',ss)
kết quả
abc , 2,5 def ,5,88 or (2,5, 8,12, 8945,3)
abc , 2.5 def ,5.88 or (2.5, 8.12, 8945.3)
Nếu bạn muốn để điều trị các trường hợp phức tạp hơn (số không có chữ số trước dấu thập phân cho dụ) regex tôi crafted để phát hiện tất cả các loại số trong chuỗi sau có thể bạn quan tâm:
stackoverflow.com/questions/5917082/regular-expression-to-match-numbers-with-or-without-commas-and-decimals-in-text/5929469
bạn đã kiểm tra: http://pypi.python.org/pypi/Babel/0.9.6 – mouad