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

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

如何刪除可變長度字符串的一部分

如何刪除可變長度字符串的一部分

胡說叔叔 2022-01-05 20:29:24
我有一個 DataFrame,其中一列是如下所示的字符串行:Received value 126;AOC;H3498XX from 602Received value 101;KYL;0IMMM0432 from 229我想刪除(或不替換)第二個分號之后的部分,使其看起來像Received value 126;AOC; from 602但是我想刪除的這部分將具有不同且不可預測的長度(總是 AZ 和 0-9 的組合)。分號和 froms 將始終存在以供參考。我試圖通過研究這個鏈接來使用正則表達式:https : //docs.python.org/3/library/re.htmlimport refor row in df[‘column’]:    row = re.sub(‘;[A-Z0-9] from’ , ‘; from’, row)我認為 [A-Z0-9] 未能結合我想要的不同長度方面。
查看完整描述

2 回答

?
HUH函數

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

使用str.replace()with的示例str.split():


s = ['126;AOC;H3498XX from 602', '101;KYL;0IMMM0432 from 229']


for elem in s:

    print(elem.replace(elem.split(";",2)[-1].split()[0],''))

輸出:


126;AOC; from 602

101;KYL; from 229

編輯:


同樣適用于以下示例:


s = ['Received value 126;AOC;H3498XX from 602', 'Received value 101;KYL;0IMMM0432 from 229']


for elem in s:

    print(elem.replace(elem.split(";",2)[-1].split()[0],''))

輸出:


Received value 126;AOC; from 602

Received value 101;KYL; from 229


查看完整回答
反對 回復 2022-01-05
?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

使用模式 (Received value \d+;[A-Z]+;)\w+(\s.*?)


前任:


import re


s = ["Received value 126;AOC;H3498XX from 602", "Received value 101;KYL;0IMMM0432 from 229"]


for i in s:

    print( re.sub(r"(Received value \d+;[A-Z]+;)\w+(\s.*?)", r"\1", i) )

輸出:


Received value 126;AOC;from 602

Received value 101;KYL;from 229


查看完整回答
反對 回復 2022-01-05
  • 2 回答
  • 0 關注
  • 174 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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