I’m looking for the Python equivalent of
String str = "many fancy word \nhello \thi"; String whiteSpaceRegex = "\\s"; String[] words = str.split(whiteSpaceRegex); ["many", "fancy", "word", "hello", "hi"]
I’m looking for the Python equivalent of
String str = "many fancy word \nhello \thi"; String whiteSpaceRegex = "\\s"; String[] words = str.split(whiteSpaceRegex); ["many", "fancy", "word", "hello", "hi"]
The str.split()
method without an argument splits on whitespace:
>>> "many fancy word \nhello \thi".split() ['many', 'fancy', 'word', 'hello', 'hi']
import re s = "many fancy word \nhello \thi" re.split('\s+', s)
Using split()
will be the most Pythonic way of splitting on a string.
It’s also useful to remember that if you use split()
on a string that does not have a whitespace then that string will be returned to you in a list.
Example:
>>> "ark".split() ['ark']
Another method through re
module. It does the reverse operation of matching all the words instead of spitting the whole sentence by space.
>>> import re >>> s = "many fancy word \nhello \thi" >>> re.findall(r'\S+', s) ['many', 'fancy', 'word', 'hello', 'hi']
Above regex would match one or more non-space characters.