【发布时间】:2013-08-28 14:38:54
【问题描述】:
我的字符串在字符内容方面是不可预测的,但我知道每个字符串都包含一个字符“*”。
如何用一些非硬编码字符串替换 '*' 后面的两个字符。非硬编码字符串实际上是计算校验和并转换成字符串:
checksum_str = str(hex(csum).lstrip('0x'))
【问题讨论】:
我的字符串在字符内容方面是不可预测的,但我知道每个字符串都包含一个字符“*”。
如何用一些非硬编码字符串替换 '*' 后面的两个字符。非硬编码字符串实际上是计算校验和并转换成字符串:
checksum_str = str(hex(csum).lstrip('0x'))
【问题讨论】:
你想要这样的东西:
star_pos = my_string.find('*')
my_string = my_string[:star_pos] + '*' + checksum_str + my_string[star_pos + 3:]
【讨论】:
你可以用正则表达式来做到这一点:
import re
my_string = re.sub(r'(?<=\*)..', checksum_str, my_string, 1)
【讨论】: