为了账号安全,请及时绑定邮箱和手机立即绑定

如何在python中更改特定的字符串顺序

如何在python中更改特定的字符串顺序

波斯汪 2021-05-06 18:57:38
使用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'


查看完整回答
反对 回复 2021-05-18
?
慕雪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’


查看完整回答
反对 回复 2021-05-18
  • 3 回答
  • 0 关注
  • 197 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信