4

私はひもを持っています、

line = '12/08/2013,3,"9,25",42:51,"3,08","12,9","13,9",159,170,"3,19",437,'

そして、引用符の間のコンマを見つけて「:」に置き換えたいと思います。結果を求めて

line = '12/08/2013,3,9:25,42:51,3:08,12:9,13:9,159,170,3:19,437,'

これまでのところ、このパターンを一致させることができましたが、

import re
re.findall('(\"\d),(.+?\")', line)

ただし、使用する必要があると思います

re.compile(...something..., line)
re.sub(':', line)

誰もこれを行う方法を知っていますか? ありがとう、ラボジャンキー

4

3 に答える 3

8
>>> import re
>>> line = '12/08/2013,3,"9,25",42:51,"3,08","12,9","13,9",159,170,"3,19",437,'
>>> re.sub(r'"(\d+),(\d+)"', r'\1:\2', line)
'12/08/2013,3,9:25,42:51,3:08,12:9,13:9,159,170,3:19,437,'

\1\2一致したグループを参照してください。


非正規表現ソリューション:

>>> ''.join(x if i % 2 == 0 else x.replace(',', ':')
            for i, x in enumerate(line.split('"')))
'12/08/2013,3,9:25,42:51,3:08,12:9,13:9,159,170,3:19,437,'
于 2013-08-26T08:29:47.240 に答える