Я ищу эквивалент Python
String str = "many fancy word \nhello \thi";
String whiteSpaceRegex = "\\s";
String[] words = str.split(whiteSpaceRegex);
["many", "fancy", "word", "hello", "hi"]
Метод str.split()
без аргумента разбивается на пробелы:
>>> "many fancy word \nhello \thi".split()
['many', 'fancy', 'word', 'hello', 'hi']
1
качестве второго аргумента), вы можете использовать None
в качестве первого аргумента: s.split(None, 1)
import re
s = "many fancy word \nhello \thi"
re.split('\s+', s)
strip()
в конце
Другой метод через модуль re
. Он выполняет обратную операцию по совпадению всех слов вместо того, чтобы плевать все предложение пробелом.
>>> import re
>>> s = "many fancy word \nhello \thi"
>>> re.findall(r'\S+', s)
['many', 'fancy', 'word', 'hello', 'hi']
Выше регулярное выражение будет соответствовать одному или нескольким непространственным символам.
Использование split()
будет самым питоническим способом разделения на строку.
Также полезно помнить, что если вы используете split()
для строки, которая не имеет пробела, тогда эта строка будет возвращена вам в списке.
Пример:
>>> "ark".split()
['ark']
re
?