簡體   English   中英

替換 3 行字符串

[英]Replacing 3 line string

調用外部 API 時我得到這樣的響應 2 行 44 個字符共 88 個字符。這是完美的。

r.text = "P<RUSBASZNAGDCIEWS<<AZIZAS<<<<<<<<<<<<<<<<<<"
           "00000000<ORUS5911239F160828525911531023<<<10"

但有時我會得到這種響應,我需要使其與示例 1 中的相同。2 行 44 個字符。 所有這些大都應該替換為普通的<並且空格也被刪除

r.text = "P<RUSALUZAFEE<<ZUZILLAS<<<<
          くくくくくくくくくく、
          00000000<ORUS7803118 F210127747803111025<<<64"

預計 OUTPUT:

string =  "P<RUSALUZAFEE<<ZUZILLAS<<<<<<<<<<<<<<<<<<<<<
          00000000<ORUS7803118F210127747803111025<<<64"

您可以使用模塊 re 中的 re.sub 來完成,如下所示

new_txt = re.sub("<", "く", old_txt)

或使用 str.replace 如下

new_str = OldStr.replace("く", "<")

或使用正則表達式並將其與 if else like

 if pattern:
       re.sub  # or str.replace
   else:
       pass
 
     
import re pattern = r'\n.*く.*\n' s = re.compile(pattern) string = s.sub('\n', r.text)

這是最好的嘗試,你會發現它很有幫助

import re

txt =""" P<RUSALUZAFEE<<ZUZILLAS<<<<
    くくくくくくくくくく、
    00000000<ORUS7803118 F210127747803111025<<<64"""

txt_1 = re.sub('(く |く)', '<', txt).replace('、','')
txt_2 = re.sub(r'\s+', '', txt_1)
regex = r"(\w<?\w+<+\w+<+)(\w*<?\w+<+\w+)"
result = re.match(regex, txt_2)
print(f'{result.group(1)}\n{result.group(2)}')

Output

P<RUSALUZAFEE<<ZUZILLAS<<<<<<<<<<<<<<
00000000<ORUS7803118F210127747803111025<<<64

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM