慕運(yùn)維8079593
2021-07-09 18:41:37
我正在嘗試使用 python 代碼將以下代碼片段中的字符值 'K' 替換為 'M',但運(yùn)氣不佳。代碼:import reoriginal_text = 'context PQ-4662-33-K64C-C-DDxxx-Sxxxx'regex = re.compile(r'context\s.*\d[0-9]\-\w\w\-(K).*')result = re.match(regex, original_text)replace_attempt = regex.sub(r'M\1', original_text)print(result.group(0))print(result.group(1))print(replace_attempt)輸出:context PQ-4662-33-K64C-C-DDxxx-SxxxxKMKProcess finished with exit code 0我正在尋求的期望輸出:context PQ-4662-33-M64C-C-DDxxx-Sxxxx
2 回答

慕沐林林
TA貢獻(xiàn)2016條經(jīng)驗 獲得超9個贊
替換為所需的組
original_text = 'context PQ-4662-33-K64C-C-DDxxx-Sxxxx'
original_text=re.sub(r'(context\s.*\d[0-9]\-\w\w\-)(K)(.*)',r'\1'+'M'+r'\3',original_text)
print(original_text) #'context PQ-4662-33-M64C-C-DDxxx-Sxxxx'
如果你只是想用 M 替換所有的 `K
re.sub('K','M',original_text)

慕森卡
TA貢獻(xiàn)1806條經(jīng)驗 獲得超8個贊
如果您只想替換K
為M
,那么您可以簡單地執(zhí)行以下任一操作:
1) re.sub('K', 'M', original_text)
2) original_text.replace('K', 'M')
兩者都會產(chǎn)生:
context PQ-4662-33-M64C-C-DDxxx-Sxxxx
如果您的要求更具體,并且輸入字符串始終遵循規(guī)定的模式:
re.sub(r'(?<=context [A-Z]{2}-\d{4}-\d{2}-)[A-Z]', 'M', original_text)
再次產(chǎn)生:
context PQ-4662-33-M64C-C-DDxxx-Sxxxx
添加回答
舉報
0/150
提交
取消