使用Python 2.7运行Win 7。我想更改字符串:‘%01#WDD00300003010F123456’至:‘%01#WDD0030000301120F5634’因此,我想将最后8个字符从更改0F123456为120F5634。我该如何编写代码来实现这一目标?
3 回答
胡说叔叔
TA贡献1804条经验 获得超8个赞
切掉要交换数字的位:
s = "%01#WDD00300003010F123456"
sb, se = s[:-8], s[-8:]
现在定义一个分解se为数字对的函数:
def digit_pairs(s):
return [s[i:i+2] for i in range(0,len(s),2)]
以及一个用于切换配对的功能:
def switch(s):
for i in range(1,len(s),2):
yield s[i]
yield s[i-1]
那你可以做
>>> ''.join(switch(digit_pairs(se)))
'120F5634'
慕雪6442864
TA贡献1812条经验 获得超5个赞
使用re模块的另一种尝试:
import re
s = """‘%01#WDD00300003010F123456’"""
print(re.sub(r'(.{2})(.{2})(.{2})(.{2})’', r'\2\1\4\3’', s))
印刷:
‘%01#WDD0030000301120F5634’
添加回答
举报
0/150
提交
取消