2013-08-28 36 views
1

我有字符內容不可預知的字符串,但我知道每個字符串只包含一個字符'*'。在Python中替換特定字符的優雅方式

如何用一些非硬編碼的字符串替換'*'後面的兩個字符。非硬編碼字符串實際上是計算校驗和轉換成字符串:

checksum_str = str(hex(csum).lstrip('0x')) 

回答

1

你想要的東西,如:

star_pos = my_string.find('*') 
my_string = my_string[:star_pos] + '*' + checksum_str + my_string[star_pos + 3:] 
+0

確切說!乾杯! – Nikson

1

您可以用正則表達式做到這一點:

import re 
my_string = re.sub(r'(?<=\*)..', checksum_str, my_string, 1) 
+0

這不代替,這插入字符串 – Nikson

+0

糟糕,你是對的,我錯過了。更正了我的答案。 – DzinX