如何在Python中拆分这个以逗号分隔的字符串?

fre*_*247 18 python regex string

嗨,我一直在阅读正则表达式,我有一些基本的res工作.我现在一直在尝试使用Re来整理这样的数据:

"144,1231693144,26959535291011309493156476344723991336010898738574164086137773096960,26959535291011309493156476344723991336010898738574164086137773096960,1.00,4295032833,1563,2747941288,1231823695,26959535291011309493156476344723991336010898738574164086137773096960,26959535291011309493156476344723991336010898738574164086137773096960,1.00,4295032833,909,4725008"

...进入一个元组,但我不能让它工作.

任何人都可以解释他们会怎么做这样的事情?

谢谢

Aco*_*orn 49

你不想在这里使用正则表达式.

s = "144,1231693144,26959535291011309493156476344723991336010898738574164086137773096960,26959535291011309493156476344723991336010898738574164086137773096960,1.00,4295032833,1563,2747941 288,1231823695,26959535291011309493156476344723991336010898738574164086137773096960,26959535291011309493156476344723991336010898738574164086137773096960,1.00,4295032833,909,4725008"

print s.split(',')
Run Code Online (Sandbox Code Playgroud)

给你:

['144', '1231693144', '26959535291011309493156476344723991336010898738574164086137773096960', '26959535291011309493156476344723991336010898738574164086137773096960', '1.00
', '4295032833', '1563', '2747941 288', '1231823695', '26959535291011309493156476344723991336010898738574164086137773096960', '26959535291011309493156476344723991336010898
738574164086137773096960', '1.00', '4295032833', '909', '4725008']
Run Code Online (Sandbox Code Playgroud)

  • 如果从文件中读入,则需要使用`s.strip().split(',')`.strip方法摆脱了换行符和其他空格. (10认同)

Jam*_*ury 11

列表怎么样?

mystring.split(",")
Run Code Online (Sandbox Code Playgroud)

如果您能解释我们正在查看的信息类型,可能会有所帮助.也许一些背景信息呢?

编辑:

我想到你可能想要两组一组的信息?

然后尝试:

re.split(r"\d*,\d*", mystring)
Run Code Online (Sandbox Code Playgroud)

如果你想让他们成为元组

[(pair[0], pair[1]) for match in re.split(r"\d*,\d*", mystring) for pair in match.split(",")]
Run Code Online (Sandbox Code Playgroud)

以更易读的形式:

mylist = []
for match in re.split(r"\d*,\d*", mystring):
    for pair in match.split(",")
        mylist.append((pair[0], pair[1]))
Run Code Online (Sandbox Code Playgroud)