python 文本或句子切割,并保留分隔符

网上找了好久,都没有理想的解决方法。主要思想,利用正则表达式re.split() 分割,同时利用re.findall() 查找分隔符,而后将二者链接即可。

# coding: utf-8

import sys
reload(sys)
sys.setdefaultencoding("utf-8")

import re


def my_split(str,sep=u"要求d+|岗位S+"):  # 分隔符可为多样的正则表达式
    wlist = re.split(sep,str)
    sepword = re.findall(sep,str)
    sepword.insert(0," ") # 开头(或末尾)插入一个空字符串,以保持长度和切割成分相同
    wlist = [ x+y for x,y in zip(wlist,sepword) ] # 顺序可根据需求调换
    return wlist



if __name__ == "__main__":
    inputstr = "岗位:学生: 
要求1.必须好好学习。
要求2.必须踏实努力。
要求3.必须求实上进。"
    res = my_split(inputstr)
    print '
'.join(res)
每天一小步,人生一大步!Good luck~
原文地址:https://www.cnblogs.com/jkmiao/p/4767762.html