在Python中的空白上拆分字符串

时间:2011-11-13 18:46:12

标签: python regex string split whitespace

我正在寻找与

相当的Python
String str = "many   fancy word \nhello    \thi";
String whiteSpaceRegex = "\\s";
String[] words = str.split(whiteSpaceRegex);

["many", "fancy", "word", "hello", "hi"]

4 个答案:

答案 0 :(得分:691)

没有参数的str.split()方法在空格上分割:

>>> "many   fancy word \nhello    \thi".split()
['many', 'fancy', 'word', 'hello', 'hi']

答案 1 :(得分:59)

import re
s = "many   fancy word \nhello    \thi"
re.split('\s+', s)

答案 2 :(得分:14)

通过re模块的另一种方法。它执行匹配所有单词的反向操作,而不是按空格吐出整个句子。

>>> import re
>>> s = "many   fancy word \nhello    \thi"
>>> re.findall(r'\S+', s)
['many', 'fancy', 'word', 'hello', 'hi']

上面的正则表达式会匹配一个或多个非空格字符。

答案 3 :(得分:10)

使用split()将是 Pythonic 在字符串上拆分最多的方式。

记住如果在没有空格的字符串上使用split(),那么该字符串将在列表中返回给您。

示例:

>>> "ark".split()
['ark']