我想分割我提供的任何分隔符組合上的字符串。例如,如果字符串是:如何分割多個分隔符的字符串,但只捕獲一些?
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