我想分割我提供的任何分隔符组合上的字符串。例如,如果字符串是:如何分割多个分隔符的字符串,但只捕获一些?
s = 'This, I think,., کباب MAKES , some sense '
而且分隔符\.
,,
和\s
。但是,我想要捕获除空格\s
之外的所有分隔符。输出应该是:
['This', ',', 'I', 'think', ',.,', 'کباب', 'MAKES', ',', 'some', 'sense']
我的解决方案迄今使用re
模块:
pattern = '([\.,\s]+)'
re.split(pattern, s)
然而,这种捕捉空白也是如此。我曾尝试使用其他模式,如[(\.)(,)\s]+
,但它们不起作用。
编辑:@PadraicCunningham做了精明的观察。对于像Some text ,. , some more text
这样的分隔符,我只想从,. ,
中删除前导空格和尾部空格,而不是内部空白。
你能不能删除' \ s'最初? – eavidan
从捕获的结果中删除字符串中的空白字符怎么样?这不是问题的一般化解决方案,由于正则表达式的简单性,它应该在这里“工作”。 – user2864740
@eavidan但它不会在空白处分割。这样我就不得不在第一次拆分返回列表的每个元素上运行're.split('\ s',...)'。 – hazrmard