第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

python中有沒(méi)有辦法替換字符串但保留中間字符完整?

python中有沒(méi)有辦法替換字符串但保留中間字符完整?

交互式愛(ài)情 2024-01-15 15:31:39
有沒(méi)有什么方法可以替換文件中所有出現(xiàn)的字符串,同時(shí)保留字符串中間的未知字符完好無(wú)損?例如,將字符串 'ab{unknown}cde' 替換為 '(ab{unknown}cde)'
查看完整描述

2 回答

?
繁星淼淼

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊

這與其說(shuō)是替換,不如說(shuō)是將匹配的子字符串括在括號(hào)中。


>>> re.sub('(ab.cde)', r'(\1)', '123abxcde456')

'123(abxcde)456'

模式就是正則表達(dá)式ab.cde。模式中的括號(hào)表示整個(gè)匹配是一個(gè)捕獲組。替換文本是一對(duì)括號(hào),其中包含(第一個(gè))組匹配的內(nèi)容。


您還可以指定一個(gè)接收正則表達(dá)式匹配結(jié)果的函數(shù),而不是替換文本。如果沒(méi)有別的辦法,這可以讓您避免在正則表達(dá)式中顯式定義捕獲組。


def surround(m):

    return f'({m.group()})'


new_str = re.sub('ab.cde', surround, '123abxcde456')

assert new_str == '123(abxcde)456'


查看完整回答
反對(duì) 回復(fù) 2024-01-15
?
米琪卡哇伊

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以使用正則表達(dá)式來(lái)識(shí)別已知部分并用某些通配符替換未知部分。在你的例子中,


from re import sub


replaced = sub('(ab.cde)', r'(\1)', 'asdasdab5cdeasdasd')


查看完整回答
反對(duì) 回復(fù) 2024-01-15
  • 2 回答
  • 0 關(guān)注
  • 172 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)