Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I split by 1 or more occurrences of a delimiter in Python?

I have a formatted string from a log file, which looks like:

>>> a="test                            result" 

That is, the test and the result are split by some spaces - it was probably created using formatted string which gave test some constant spacing.

Simple splitting won't do the trick:

>>> a.split(" ") ['test', '', '', '', ... '', '', '', '', '', '', '', '', '', '', '', 'result'] 

split(DELIMITER, COUNT) cleared some unnecessary values:

>>> a.split(" ",1) ['test', '                           result'] 

This helped - but of course, I really need:

['test', 'result'] 

I can use split() followed by map + strip(), but I wondered if there is a more Pythonic way to do it.

Thanks,

Adam

UPDATE: Such a simple solution! Thank you all.

like image 460
Adam Matan Avatar asked Mar 22 '10 13:03

Adam Matan


People also ask

How do you split with multiple separators?

Use the String. split() method to split a string with multiple separators, e.g. str. split(/[-_]+/) . The split method can be passed a regular expression containing multiple characters to split the string with multiple separators.

How do you split data by delimiter in Python?

Use split() method to split by delimiter. If the argument is omitted, it will be split by whitespace, such as spaces, newlines \n , and tabs \t . Consecutive whitespace is processed together. A list of the words is returned.

Can you split multiple times Python?

Method 1: Split multiple characters from string using re. split() This is the most efficient and commonly used method to split multiple characters at once.


1 Answers

Just do not give any delimeter?

>>> a="test                            result" >>> a.split() ['test', 'result'] 
like image 165
Kimvais Avatar answered Oct 05 '22 13:10

Kimvais