替换Python中特定字符的优雅方法
我有一些字符串在字符内容方面是不可预测的,但我知道每个字符串只包含一个字符“*” 如何用一些非硬编码字符串替换“*”后面的两个字符。非硬编码字符串实际上是计算校验和并转换为字符串:替换Python中特定字符的优雅方法,python,replace,char,Python,Replace,Char,我有一些字符串在字符内容方面是不可预测的,但我知道每个字符串只包含一个字符“*” 如何用一些非硬编码字符串替换“*”后面的两个字符。非硬编码字符串实际上是计算校验和并转换为字符串: checksum_str = str(hex(csum).lstrip('0x')) 你想要的是: star_pos = my_string.find('*') my_string = my_string[:star_pos] + '*' + checksum_str + my_string[star_pos +
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)
重新导入
my_string=re.sub(r')(?就是这样!!干杯!这不会替换,这会插入字符串