python正则表达式拆分第一个字符

时间:2012-03-07 13:14:05

标签: python regex split

e.g。我有姓名: John Frank Smith

我想要的是通过第一个空格分开

所以数组将是 [0] = John [1] = Frank Smith

我尝试了什么,我用〜替换空间并尝试用正则表达式分割。

import re
s="John~Frank~Smith"
l=re.compile(r'/~(.+)?/').split(s)

输出是:

 ['John~Frank~Smith']

如何实现上述目标?

首先我不知道如何在正则表达式中添加空格。

3 个答案:

答案 0 :(得分:10)

str.split()maxsplit参数一起使用:

>>> s = "John Frank Smith"
>>> s.split(None, 1)
['John', 'Frank Smith']

注意:这会在多次出现的空白时分割,所以像

这样的字符串
John    Frank Smith

会给出相同的结果。如果您只想将一个空格用作分隔符,请使用s.split(' ', 1)

答案 1 :(得分:2)

如果你想使用正则表达式:

>>> re.split(r'~', "John~Frank~Smith",1)
['John', 'Frank~Smith']

~来自您的示例。

答案 2 :(得分:0)

不需要正则表达式,使用split():

s="John~Frank~Smith"
s.split('~',1)

['John', 'Frank~Smith']