本文介绍了在 Python 中拆分具有未知数量空格的字符串作为分隔符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要一个类似于 str.split(' ')
的函数,但可能有多个空格,并且在有意义的字符之间有不同数量的空格.像这样:
s = ' 1234 Q-24 2010-11-29 563 abc a6G47er15 'ss = s.magic_split()打印(ss)#['1234','Q-24','2010-11-29','563','abc','a6G47er15']
我可以以某种方式使用正则表达式来捕捉它们之间的空格吗?
解决方案
如果您没有将任何参数传递给 str.split()
,它将把空白运行视为单个分隔符:
或者如果你愿意
>>>类 MagicString(str):... magic_split = str.split...>>>s = MagicString(' 1234 Q-24 2010-11-29 563 abc a6G47er15')>>>s.magic_split()['1234'、'Q-24'、'2010-11-29'、'563'、'abc'、'a6G47er15']I need a function similar to str.split(' ')
but there might be more than one space, and different number of them between the meaningful characters. Something like this:
s = ' 1234 Q-24 2010-11-29 563 abc a6G47er15 '
ss = s.magic_split()
print(ss) # ['1234', 'Q-24', '2010-11-29', '563', 'abc', 'a6G47er15']
Can I somehow use regular expressions to catch those spaces in between?
解决方案
If you don't pass any arguments to str.split()
, it will treat runs of whitespace as a single separator:
>>> ' 1234 Q-24 2010-11-29 563 abc a6G47er15'.split()
['1234', 'Q-24', '2010-11-29', '563', 'abc', 'a6G47er15']
Or if you want
>>> class MagicString(str):
... magic_split = str.split
...
>>> s = MagicString(' 1234 Q-24 2010-11-29 563 abc a6G47er15')
>>> s.magic_split()
['1234', 'Q-24', '2010-11-29', '563', 'abc', 'a6G47er15']
这篇关于在 Python 中拆分具有未知数量空格的字符串作为分隔符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!