Whitespace test after string.split
bokr at oz.net
Sun Nov 27 06:18:11 CET 2005
On Sat, 26 Nov 2005 16:15:17 +0100, Peter Otten <__peter__ at web.de> wrote:
>David Pratt wrote:
>> Hi. I am splitting a string on a non whitespace character. One or more
>> whitespace characters can be returned as items in the list. I do not
>> want the items in the list that are only whitespace (can be one or more
>> characters of whitespace) and plan to use string.strip on those items
>> that are not only whitespace (to remove any whitespace from front or
>> back of items).
>> What kind of efficient test can I use to obtain only list items
>> returned from the split that I am interested in, ignoring any list
>> items that would only be comprised of one or more characters of
>> whitespace (since whitespace can mean one or more spaces, tabs, and
>> other characters)
>>>> s = "alpha, \t\n, gamma, delta,"
>['alpha', ' \t\n', ' gamma', ' delta', '']
>>>> [t for t in s.split(",") if not t.isspace()]
>['alpha', ' gamma', ' delta', '']
>>>> [t for t in s.split(",") if t and not t.isspace()]
>['alpha', ' gamma', ' delta']
>>>> [t.strip() for t in s.split(",") if t and not t.isspace()]
>['alpha', 'gamma', 'delta']
>There you are.
>>> [t for t in (t.strip() for t in s.split(",")) if t]
['alpha', 'gamma', 'delta']
>> As a second question, I am seeing string split as deprecated in 2.4.2
>> manual. What is planned in future to split (strings or unicode)?
>Just use the corresponding methods, e. g. s.strip() instead of
More information about the Python-list