Python正则表达式取代

Cia*_*rán 24 python regex

嘿,我正在试图找出一个正则表达式来做以下事情.

这是我的字符串

Place,08/09/2010,"15,531","2,909",650
Run Code Online (Sandbox Code Playgroud)

我需要用逗号分隔这个字符串.虽然由于数字数据字段中使用了逗号,但拆分无法正常工作.所以我想在运行拆分字符串之前删除数字中的逗号.

谢谢.

小智 49

new_string = re.sub(r'"(\d+),(\d+)"', r'\1.\2', original_string)
Run Code Online (Sandbox Code Playgroud)

这将,用a 替换引号内部.,你现在可以使用字符串split方法.

  • ...除非数字是"123,456,789"` - 那么它将是"123.456,789" (3认同)
  • @Ciarán小心不要在引号内有任何大于999,999的数字...... (3认同)

koj*_*iro 26

>>> from StringIO import StringIO
>>> import csv
>>> r = csv.reader(StringIO('Place,08/09/2010,"15,531","2,909",650'))
>>> r.next()
['Place', '08/09/2010', '15,531', '2,909', '650']
Run Code Online (Sandbox Code Playgroud)

  • 在Python 3中,它是`io.StringIO`:http://docs.python.org/py3k/library/io.html?highlight = Stringio #io.StringIO (2认同)