1

我有以下字符串:

string = "Peter Pan, Pete Sampras; Little Pete"

我需要按名称拆分它:

split_string = ["Peter Pan", "Pete Sampras", "Little Pete"]

我正在尝试使用re.findall,但遇到了一些麻烦:

print re.findall(r'[,;]', string)
[";", ";", ";"]

我在这里做错了什么,我将如何在此处正确使用re.findall或等效于拆分字符串?

4

2 回答 2

2

使用re.split如下将拆分您的字符串:

string = "Peter Pan, Pete Sampras; Little Pete"
print re.split(r'[,;]', string)
["Peter Pan", "Pete Sampras", "Little Pete"]
于 2012-06-15T23:14:12.463 回答
1

或者,如果您不确定分隔符但确定名称之间有空格(或更多),您可以使用:

re.findall("\w+\s+\w+", target_string)

这确实意味着只跳过一个单词的名称,\w代表字母和\s空格,并+表示对一个或多个元素的贪婪搜索。

于 2012-06-15T23:33:10.187 回答