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']
如何实现上述目标?
首先我不知道如何在正则表达式中添加空格。
答案 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']