Python 简单正则表达式拆分
我有以下字符串:Python 简单正则表达式拆分,python,regex,Python,Regex,我有以下字符串: string = "Peter Pan, Pete Sampras; Little Pete" 我需要把它按名字分开: split_string = ["Peter Pan", "Pete Sampras", "Little Pete"] 我正在尝试使用re.findall,但遇到了一些问题: print re.findall(r'[,;]', string) [";", ";", ";"] 我在这里做错了什么?我如何正确地使用re.findall或等效工具来拆分字符串?
string = "Peter Pan, Pete Sampras; Little Pete"
我需要把它按名字分开:
split_string = ["Peter Pan", "Pete Sampras", "Little Pete"]
我正在尝试使用re.findall
,但遇到了一些问题:
print re.findall(r'[,;]', string)
[";", ";", ";"]
我在这里做错了什么?我如何正确地使用
re.findall
或等效工具来拆分字符串?使用re.split
如下将拆分字符串:
string = "Peter Pan, Pete Sampras; Little Pete"
print re.split(r'[,;]', string)
["Peter Pan", "Pete Sampras", "Little Pete"]
或者,如果您不确定分隔符,但确定名称之间有空格(或更多),则可以使用:
re.findall("\w+\s+\w+", target_string)
这意味着只跳过一个单词的名称,因为
\w
代表一个字母,\s
代表一个空格,+
表示贪婪地搜索一个或多个元素。re.split(r'\s*[,;]\s*',string)也会删除空格。此外,我会避免使用名称“string”作为变量,因为它位于标准库中。。。