2016-09-02 322 views
0

我想<<>>與交替更換##。例如abc##123##qwe##asd##abc<<123>>qwe<<asd>>。當然,我可以讀符號逐一檢查他們,做了更換,以<<如果它甚至時間或>>如果是奇數時間。但是在Python中有標準函數的能量收集,所以我想知道我是否可以使用它們來減少我的代碼。字符串替換交替

+6

'應用re.sub(R'# #(。*?)##「 R」 <<\1>>」,S)' –

+0

@AvinashRaj,謝謝你,我應該學習一些有關正expressins – Pavel

+1

剛指出,阿維納什的答案是偉大的情況下,你知道你有偶數的'##'s,但不適用於odd/unm散亂的哈希。 –

回答

1

你可以用下面的語句來改變##只對離開不匹配##,因爲它是

d = "abc##123##qwe##asd" 
re.sub(r'(##)(.*?)(?(1)##)', r'<<\2>>', d) 

# 'abc<<123>>qwe##asd' 

,或者你可以做到這一點

re.sub(r'(##)(.*?)(?(1)##)', r'<<\2>>', d).replace("##","<<") 

# 'abc<<123>>qwe<<asd'