最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python?獲取指定開頭指定結(jié)尾所夾中間內(nèi)容(推薦)

 更新時(shí)間:2023年02月20日 14:51:17   作者:來一粒4869  
獲取文章中指定開頭、指定結(jié)尾中所夾的內(nèi)容。其中,開頭和結(jié)尾均有多種,但最多也就十幾種,所以代碼還是具有可行性的,今天小編給大家介紹通過Python?獲取指定開頭指定結(jié)尾所夾中間內(nèi)容,感興趣的朋友一起看看吧

cv的xdm可以直接翻到 需求代碼 用,想看中間的分析就老實(shí)往下看吧

little 背景

最近在做畢設(shè),需要將幾百篇整體結(jié)構(gòu)差不多的文章中提取出一些內(nèi)容,所以才有了這個(gè)blog。

需求

獲取文章中指定開頭、指定結(jié)尾中所夾的內(nèi)容。其中,開頭和結(jié)尾均有多種,但最多也就十幾種,所以代碼還是具有可行性的。

例:

X X 市 人 民 檢 察 院 指 控 : ‾ \underline{XX市人民檢察院指控:} XX市人民檢察院指控:?被告人XXX與被害人YYY(女,歿年41歲,系XXX妻子)因家庭矛盾多次發(fā)生爭(zhēng)執(zhí)。X年Y月Z日早晨,被告人XXX在X市X市場(chǎng)…被告人XXX為偏執(zhí)性精神障礙,具有限制刑事責(zé)任能力。
公 訴 機(jī) 關(guān) 認(rèn) 為 ‾ \underline{公訴機(jī)關(guān)認(rèn)為} 公訴機(jī)關(guān)認(rèn)為?,被告人XXX故意非法剝奪他人生命,致一人死亡,其行為應(yīng)以故意殺人罪追究刑事責(zé)任

所需內(nèi)容為:第一個(gè)下劃線到第二個(gè)下劃線中間的內(nèi)容,即“被告人XXX…責(zé)任能力。”。其中,“檢察院指控”是指定開頭,“公訴機(jī)關(guān)認(rèn)為”是指定結(jié)尾。

解決方案

原本想著NLP有沒有現(xiàn)成的庫可以直接調(diào)包,后來搜了半天沒搜到,然后看到了正則表達(dá)式(真香)。

代碼

低配方法:

適用于只有一種固定開頭和結(jié)尾,多種就不行了

import re
def GetMiddleStr(content,startStr,endStr):
#     patternStr = r'.*%s(.+?)%s.*'%(startStr,endStr) # 此模式不能跨段,‘.'只能匹配除了'\n'外所有單個(gè)字符
    patternStr = r'[\s\S]*%s(.+?)%s[\s\S]*'%(startStr,endStr)
#     patternStr = re.compile(patternStr,re.IGNORECASE) # 忽略大小寫 ,這個(gè)適用于英文文章
    middleStr= re.match(patternStr,content)
    if middleStr:
        return middleStr.group(1)

中配方法:

適用于多種固定開頭和結(jié)尾,不過是蠻力法,可以優(yōu)化判斷,減少循環(huán)次數(shù)

import re
def GetMiddleStr2(content,startStr,endStr):
#     patternStr = r'.*%s(.+?)%s.*'%(startStr,endStr)
    goalStr = str('')
    
    for sStr in startStr:
        for eStr in endStr:
            patternStr = r'[\s\S]*%s(.+?)%s[\s\S]*'%(sStr,eStr)
            middleStr= re.match(patternStr,content)
            if middleStr:
                if not goalStr: # 判斷 空 時(shí)候的值
                    goalStr = middleStr.group(1)
                else:        # 非空時(shí),將將短的留下來 
                    goalStr = middleStr.group(1) if len(goalStr)>len(middleStr.group(1)) else goalStr
                    
    return goalStr

運(yùn)行效果

content='且得到被害人家屬諒解。綜上,建議法庭對(duì)被告人XXX減輕處罰。經(jīng)審理查明:被告人XXX與被害人YYY因家庭矛盾多次發(fā)生爭(zhēng)執(zhí)。X年Y月Z日清晨,被告人XXX在X市X市場(chǎng)......被告人XXX為偏執(zhí)性精神障礙,具有限制刑事責(zé)任能力。公訴機(jī)關(guān)認(rèn)為,被告人XXX故意非法剝奪他人生命,致一人死亡,其行為應(yīng)以故意殺人罪追究刑事責(zé)任'
startStr = '經(jīng)審理查明:'
endStr = '公訴機(jī)關(guān)認(rèn)為,'
print(GetMiddleStr(content,startStr,endStr))

在這里插入圖片描述

第二種運(yùn)行時(shí)將startStr和endStr分別賦值為:[‘AAA’,‘BBB’,…],即可
例如:
startStr = [‘審理查明:’,‘審理查明:’,‘檢察院指控’]
endStr = [‘經(jīng)鑒定’,‘經(jīng)鑒定,’, ‘歸案后’]

代碼講解

正則表達(dá)式查一下手冊(cè)即可:
.*:除了’\n’以外所有字符重復(fù)多次
[\s\S]:空白字符或者非空白字符,即所有字符(一個(gè)集合∪它在全集中的補(bǔ)集,即全集)
其余查一下手冊(cè)就ok
正則表達(dá)式手冊(cè)

到此這篇關(guān)于Python 獲取指定開頭指定結(jié)尾所夾中間內(nèi)容的文章就介紹到這了,更多相關(guān)Python 獲取指定開頭指定結(jié)尾中間內(nèi)容內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • flask框架自定義過濾器示例【markdown文件讀取和展示功能】

    flask框架自定義過濾器示例【markdown文件讀取和展示功能】

    這篇文章主要介紹了flask框架自定義過濾器,結(jié)合實(shí)例形式分析了flask基于自定義過濾器實(shí)現(xiàn)markdown文件讀取和展示功能相關(guān)操作技巧,需要的朋友可以參考下
    2019-11-11
  • Python+Matplotlib繪制帶有對(duì)角線的散點(diǎn)圖的示例代碼

    Python+Matplotlib繪制帶有對(duì)角線的散點(diǎn)圖的示例代碼

    Matplotlib 是一個(gè)用于繪制二維圖形的 Python 庫,這篇文章主要介紹了Python如何利用Matplotlib繪制帶有對(duì)角線的散點(diǎn)圖,需要的小伙伴可以參考一下
    2023-06-06
  • 詳解Python中通用工具類與異常處理

    詳解Python中通用工具類與異常處理

    在Python開發(fā)中,編寫可重用的工具類和通用的異常處理機(jī)制是提高代碼質(zhì)量和開發(fā)效率的關(guān)鍵,本文將介紹如何將特定的異常類改寫為更通用的ValidationException,并創(chuàng)建一個(gè)通用的工具類Utils,需要的可以參考下
    2024-12-12
  • Python實(shí)現(xiàn)將PowerPoint轉(zhuǎn)為HTML格式

    Python實(shí)現(xiàn)將PowerPoint轉(zhuǎn)為HTML格式

    有時(shí)我們需要將精心設(shè)計(jì)的PPT發(fā)布到網(wǎng)絡(luò)上以便于更廣泛的訪問和分享,本文將介紹如何使用Python將PowerPoint轉(zhuǎn)換為HTML格式,需要的可以參考下
    2024-04-04
  • python中如何使用xml.dom.minidom模塊讀取解析xml文件

    python中如何使用xml.dom.minidom模塊讀取解析xml文件

    xml.dom.minidom模塊應(yīng)該是內(nèi)置模塊不用下載安裝,本文給大家介紹python中如何使用xml.dom.minidom模塊讀取解析xml文件,感興趣的朋友一起看看吧
    2023-10-10
  • python開發(fā)環(huán)境PyScripter中文亂碼問題解決方案

    python開發(fā)環(huán)境PyScripter中文亂碼問題解決方案

    PyScripter是一個(gè)使用Delphi開發(fā)的開源的Python集成開發(fā)環(huán)境(IDE),PyScripter支持Python2.4、2.5、2.6、2.7、3.0、3.1、3.2,而且可以根據(jù)需要切換。
    2016-09-09
  • pycharm開發(fā)一個(gè)簡(jiǎn)單界面和通用mvc模板(操作方法圖解)

    pycharm開發(fā)一個(gè)簡(jiǎn)單界面和通用mvc模板(操作方法圖解)

    這篇文章主要介紹了pycharm開發(fā)最簡(jiǎn)單的界面和通用mvc模板的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • python刪除過期文件的方法

    python刪除過期文件的方法

    這篇文章主要介紹了python刪除過期文件的方法,涉及Python日期與文件的相關(guān)操作技巧,需要的朋友可以參考下
    2015-05-05
  • 在python中只選取列表中某一縱列的方法

    在python中只選取列表中某一縱列的方法

    今天小編就為大家分享一篇在python中只選取列表中某一縱列的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Python 連連看連接算法

    Python 連連看連接算法

    這段時(shí)間老是“不務(wù)正業(yè)”的搞一些東西玩。之前的貪吃蛇,俄羅斯方塊激發(fā)了我研究游戲算法的興趣。經(jīng)過1個(gè)星期的構(gòu)思,連連看的連接算法終于出爐了。再過一段時(shí)間就基于這個(gè)算法使用JavaScript推出網(wǎng)頁版的連連看。下面是說明及代碼。
    2008-11-11

最新評(píng)論

河东区| 康乐县| 许昌市| 丘北县| 舒城县| 延长县| 丹凤县| 洛南县| 云龙县| 太仆寺旗| 田阳县| 南开区| 堆龙德庆县| 雷波县| 隆德县| 开江县| 中牟县| 宜黄县| 长白| 汉源县| 于都县| 广河县| 浠水县| 哈巴河县| 清徐县| 嘉禾县| 明光市| 柳河县| 武山县| 巴东县| 天水市| 新巴尔虎右旗| 鲁山县| 阳春市| 堆龙德庆县| 石门县| 昭平县| 绥江县| 葫芦岛市| 宁都县| 龙泉市|