我在做
delimiters = [r'\r\n', r'\.\.\.', r'\W']
pattern = regex.compile(r'(' + r'|'.join(delimiters) + r')', flags=regex.V1)
pattern.split(s)
若要在多个分隔符上拆分S
(使用括号保留输出中的分隔符),请执行以下操作。
当它单独发生时,我该如何防止在空白上分裂? 例如,abc,def geh
应该生成['abc',‘,’,'def geh']
。 也就是说,当空白与另一个分隔符一起出现时,应该执行拆分,但当标记之间只有空白时则不执行拆分。
(这实际上是两个问题,因为现在我得到的是['abc',‘,’,'','','def','','geh']
,也就是说,多个分隔符分别出现,而我希望它们合并出现。)
对于regex
模块,您可以使用:
import regex
arr = ['abc,, def', 'abc, def geh']
res = [regex.split(r'(?=[^\w\s])|(?<=[^\w\s]\s*\b)',x) for x in arr]
print(res)
打印:
[['abc', ',', ', ', 'def'], ['abc', ', ', 'def geh']]