>>> import re
>>> re.split(r'[ "]+', ' a n" "c ')
['', 'a', 'n', 'c', '']
當前面或後面的空格時,分割後會出現空字符串。 如何避免這些空字符串?謝謝。如何避免由前或後空格造成的空字符串?
>>> import re
>>> re.split(r'[ "]+', ' a n" "c ')
['', 'a', 'n', 'c', '']
當前面或後面的空格時,分割後會出現空字符串。 如何避免這些空字符串?謝謝。如何避免由前或後空格造成的空字符串?
空值是分裂的事情。 re.split()
不適合工作。
我建議您改爲匹配你想要的。
>>> re.findall(r'[^ "]+', ' a n" "c ')
['a', 'n', 'c']
如果您必須使用split,則可以使用列表理解並直接對其進行過濾。
>>> [x for x in re.split(r'[ "]+', ' a n" "c ') if x != '']
['a', 'n', 'c']
這就是re.split
應該做的。你要求它在任何空白或引號的運行時分割字符串;如果它在開始時沒有返回空字符串,則無法將該情況與沒有空白的情況區分開來。
如果你實際上要求的是找到非空格或引號字符所有的運行,只寫:
>>> re.findall(r'[^ "]+', ' a n" "c ')
['a', 'n', 'c']
我喜歡abarnert解決方案。
但是,你也可以做(也許不是一個Python的方式):
myString.strip()
您split
(或等)前。