溢出一个字符串并追加

时间:2017-07-16 06:53:51

标签: python string

我有一个字符串例如:

  

“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)]

4 个答案:

答案 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