我有一个字符串例如:
“112233445566778899”
如何将其溢出到以下模式:
“\ X11 \ X22 \ X33 \ X44 \ X55 \ X66 \ X77 \ X88 \ X99”
我可以使用以下命令将字符串溢出,但我可以找到一种方法将“\ x”附加到它们:
s = "112233445566778899"
[s[i:i + 2] for i in range(0, len(s), 2)]
答案 0 :(得分:1)
假设您的字符串始终具有偶数长度,您总是希望将字符串拆分成对,并且您的字符串已经被订购:
http://35.154.116.133:3000/api/orders?access_token=ZzhdW7cLdocFyOtPsmMMWH4Q60fHs4zzJ1uYDOPTSWDxx83792pfJvLbRfSKbtRn[object%20Object]
答案 1 :(得分:0)
s = "112233445566778899"
a = [r'\x' + s[i:i + 2] for i in range(0, len(s), 2)]
print(''.join(a))
答案 2 :(得分:0)
您可以对代码进行以下编辑:
...
[r"\x"+s[i:i + 2] for i in range(0, len(s), 2)]
...
请注意,这将返回两个正斜杠:
['\\x11', '\\x22', '\\x33', '\\x44', '\\x55', '\\x66', '\\x77', '\\x88', '\\x99']
这是因为Python使用转义字符\
转义\
。
使用字符串时,您会注意到其中一个\
消失了:
>> x = ['\\x11', '\\x22', '\\x33', '\\x44', '\\x55', '\\x66', '\\x77', '\\x88', '\\x99']
>> print(x[0])
>> '\x11'
答案 3 :(得分:0)
我认为使用正则表达式可以是最好的。因为它可以在字符串的任何地方找到加倍的字符。
>>>import re
>>>string = "112233445566778899"
>>>x = ''.join(r'\x{}'.format(s) for s in re.finditer(r'(\w)\1',string))
>>>x
'\\x11\\x22\\x33\\x44\\x55\\x66\\x77\\x88\\x99'
>>> print(x)
\x11\x22\x33\x44\x55\x66\x77\x88\x99