拆分多个空间?

PCR*_*olt 4 python string split

我有一个程序需要拆分以下格式的行:

IDNumber      Firstname Lastname    GPA      Credits
Run Code Online (Sandbox Code Playgroud)

但我想保持FirstnameLastname在同一个字符串中。

有没有什么简单的方法可以做到这一点(除了分成五个字符串而不是四个字符串)并且以某种方式让 split 方法只在有多个空格时拆分?

jua*_*aga 11

使用正则表达式拆分两个或多个空格

>>> re.split(r" {2,}", s)
['IDNumber', 'Firstname Lastname', 'GPA', 'Credits']
Run Code Online (Sandbox Code Playgroud)

如果要在两个或多个空白字符上拆分通常,请使用:

re.split(r"\s{2,}", s)
Run Code Online (Sandbox Code Playgroud)

例如:

>>> s = "hello, world\t\tgoodbye cruel world"
>>> print(s)
hello, world        goodbye cruel world
>>> re.split(r"\s{2,}", s)
['hello, world', 'goodbye cruel world']
Run Code Online (Sandbox Code Playgroud)

  • 这才是真正的答案 (2认同)

jpp*_*jpp 8

如果要按任何空格拆分,可以使用str.split

mystr.split()

# ['IDNumber', 'Firstname', 'Lastname', 'GPA', 'Credits']
Run Code Online (Sandbox Code Playgroud)

对于两个或更多空间:

list(filter(None, mystr.split('  ')))

# ['IDNumber', 'Firstname Lastname', 'GPA', 'Credits']
Run Code Online (Sandbox Code Playgroud)