【发布时间】:2014-08-31 17:59:03
【问题描述】:
我正在尝试像这样拆分一串字节:
'\xf0\x9f\x98\x84 \xf0\x9f\x98\x83 \xf0\x9f\x98\x80 \xf0\x9f\x98\x8a \xe2\x98\xba \xf0\x9f\x98\x89 \xf0\x9f\x98\x8d \xf0\x9f\x98\x98 \xf0\x9f\x98\x9a \xf0\x9f\x98\x97 \xf0\x9f\x98\x99 \xf0\x9f\x98\x9c \xf0\x9f\x98\x9d \xf0\x9f\x98\x9b \xf0\x9f\x98\x81 \xf0\x9f\x98\x82 \xf0\x9f\x98\x85 \xf0\x9f\x98\x86 \xf0\x9f\x98\x8b \xf0\x9f\x98\x8e \xf0\x9f\x98\xac \xf0\x9f\x98\x87'
变成这样:
'\xf0\x9f\x98\x84', '\xf0\x9f\x98\x83', etc.
但是,split() 方法返回给我的是这样的:
'xf0', 'x9f' 'x98' etc.
我试过split(" "),但它似乎不起作用。如何实现上述目标?
【问题讨论】:
-
您使用的是什么“拆分”方法?看起来它不理解
\x转义序列,并且认为反斜杠只是转义了下一个字符。 -
您使用了哪些代码来获取单个字符?您永远无法通过拆分输入获得
'xf0';这是包含 3 个字符的字符串,x后跟 2 位十六进制数字。听起来好像您将字符串视为序列而不是拆分它们,从而导致每个字符串只有一个字符(如'\xf0',请注意反斜杠)。 -
... 是在 `\` 上分裂吗?
-
使用 split(' ') 代替 split(" ") 以空格分割。
-
@Boop:这两个方法调用之间没有区别。两者都按空格分开。
标签: python regex python-2.7