簡體   English   中英

拆分多個空間?

[英]Split on more than one space?

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

IDNumber      Firstname Lastname    GPA      Credits

但我想保持FirstnameLastname在相同的字符串。

有沒有什么簡單的方法可以做到這一點(除了分成五個字符串而不是四個字符串)並且以某種方式讓 split 方法只在有多個空格時才拆分?

使用正則表達式拆分兩個或多個空格

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

如果要在兩個或多個空白字符上拆分通常,請使用:

re.split(r"\s{2,}", s)

例如:

>>> 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']

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

mystr.split()

# ['IDNumber', 'Firstname', 'Lastname', 'GPA', 'Credits']

對於兩個或更多空間:

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

# ['IDNumber', 'Firstname Lastname', 'GPA', 'Credits']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM