1
out = ("First Name,Last Name,Street Address,City,State,Zip Code",",")

我正在尝试使用 re 将字符串拆分为以下内容:

['First Name', 'Last Name', 'Street Address', 'City', 'State', 'Zip Code']

我的输出是:

['First', 'Name', 'Last', 'Name', 'Street', 'Address', 'City', 'State', 'Zip', 'Code']

如何拆分字符串并将撇号内包含的任何子字符串组合在一起。

我使用 re 的经验很少,所以任何帮助都会很棒。谢谢。

我的代码:

import re

def split_string(source, splitlist):

    """

    :param source:
    :param splitlist:
    """
    splitlist= re.findall("[\w]+|[*]",source)

    return splitlist
4

2 回答 2

2

您可以str.split()在这里简单地使用:

In [41]: out = ("First Name,Last Name,Street Address,City,State,Zip Code",",")

In [42]: for x in out:
   ....:     if x.replace(",",""):      #check if the string is not empty
   ....:         print x.split(",")
   ....:         
['First Name', 'Last Name', 'Street Address', 'City', 'State', 'Zip Code']

使用re.split()

In [10]: strs='First Name,Last Name,Street Address,City,State,Zip Code'

In [11]: re.split(r',',strs)
Out[11]: ['First Name', 'Last Name', 'Street Address', 'City', 'State', 'Zip Code']
于 2013-03-31T20:57:23.017 回答
1

也许你应该只使用out.split(",")而不是重新?除非是为了特定的运动...

于 2013-03-31T20:57:08.770 回答