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 = "崗位:學生: \n要求1.必須好好學習。\n要求2.必須踏實努力。\n要求3.必須求實上進。"
    res = my_split(inputstr)
    print '\n'.join(res)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM