python字符串分割,保留分隔符

在百度实习第一周:遇到了这个问题,对别人来说非常简单,但是我这记性还是记录一下比较好!

这样的”[   ]”在里面填写分隔符,不会保留分隔符。

import re
a = "你在北京 我,你是谁?在干嘛."
sentences = re.split(r"[.!??;;,\s+]", a)


print(sentences)

结果:

[‘你在北京’, ‘我’, ‘你是谁’, ‘在干嘛’, ”]

 

想要保留分隔符,需要加入(),就是”([ ])” 这样就会保留分隔符

import re
a = "你在北京 我,你是谁?在干嘛."
sentences = re.split(r"([.!??;;,\s+])", a)


print(sentences)

结果

[‘你在北京’, ‘ ‘, ‘我’, ‘,’, ‘你是谁’, ‘?’, ‘在干嘛’, ‘.’, ”]

 

如果想将分隔符放在句子后面可以这样:

import re
a = "你在北京 我,你是谁?在干嘛."
sentences = re.split(r"([.!??;;,\s+])", a)
sentences.append("")
sentences = ["".join(i) for i in zip(sentences[0::2],sentences[1::2])]

print(sentences)

结果:

[‘你在北京 ‘, ‘我,’, ‘你是谁?’, ‘在干嘛.’]