def seg_head_split(str1,sep=r"要求\d+|项目\d+"): # 分隔符可为多样的正则表达式
# 保留分隔符,将分隔符置于每个子句句首
wlist = re.split(sep,str1)
seg_word = re.findall(sep,str1)
seg_word.insert(0," ") # 开头插入一个空字符串,以保持长度和切割成分相同
wlist = [ y+x for x,y in zip(wlist,seg_word) ] # 顺序可根据需求调换
return wlist
def seg_tail_split(str1,sep=r":|,|。"): # 分隔符可为多样的正则表达式
# 保留分割符号,置于句尾,比如标点符号
wlist = re.split(sep,str1)
seg_word = re.findall(sep,str1)
seg_word.extend(" ") # 末尾插入一个空字符串,以保持长度和切割成分相同
wlist = [ x+y for x,y in zip(wlist,seg_word) ] # 顺序可根据需求调换
return wlist
if __name__ == "__main__":
inputstr = "项目1:alkjdlajdfla。项目2:alajkdlkdslkdsaad。项目3:阿发两地分居。"
res = seg_tail_split(inputstr)
print( res )