亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用正則表達式在 Python 3 中的特定字符串之后或之前找到一行?

如何使用正則表達式在 Python 3 中的特定字符串之后或之前找到一行?

神不在的星期二 2021-12-17 16:24:20
如何使用正則表達式在python3中的特定字符串之前或之后找到一行?我正在閱讀文本文件中的內容,請幫助我文件.txtmy name is dharshinimy mom name is chandramy dad name is udaymy anniversay is on 04/01/1997import rewith open('file.txt','r') as f:input_file = f.readlines()for line in input_file : find_line = re.findall(r'(mom)', line) print(next-1(line)) print(next(line)) print(next(line))預期輸出:my name is dharshinimy dad name is udaymy anniversay is on 04/01/1997
查看完整描述

2 回答

?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

嘗試使用enumerate,enumerate在循環時獲取索引,因此我獲取索引并通過索引和切片獲取其余值:


for i,line in enumerate(paragraph):

    if 'mom' in line:

        print(paragraph[:i])

        print(paragraph[i:])

編輯:


with open('file.txt','r') as f:

    input_file = f.readlines()

    for i,line in enumerate(input_file):

        line=line.rstrip()

        if 'mom' in line:

            print(paragraph[:i])

            print(paragraph[i:])


查看完整回答
反對 回復 2021-12-17
?
Helenr

TA貢獻1780條經驗 獲得超4個贊

試試這個:


import re


paragraph = ["my name is dharshini", "my mom name is chandra", "my dad name is uday" ,  "my anniversay is on 04/01/1997" ]

#set a flag for later

print_next = False

for line in paragraph:

 find_line = re.findall(r'(mom)', line)

 #if mom is found dad will be next

 if print_next:

     print(line)

     print_next = False

 #if mom is found

 if len(find_line) > 0:

     print(line)

     print_next = True


查看完整回答
反對 回復 2021-12-17
  • 2 回答
  • 0 關注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號