如何让python接受unicode字符0x2000(和其他字符)

如何让python接受unicode字符0x2000(和其他字符),python,regex,unicode,Python,Regex,Unicode,我试图从Python中的字符串中删除某些字符。我有一个需要删除的字符列表或字符范围,用十六进制表示,如下所示: - "0x00:0x20" - "0x7F:0xA0" - "0x1680" - "0x180E" - "0x2000:0x200A" 我正在将此列表转换为如下所示的正则表达式: re.sub(u'[\x00-\x20 \x7F-\xA0 \x1680 \x180E \x2000-\x200A]', ' ', my_str) 但是,当我有\x2000-\x200A时,我得到了一个错

我试图从Python中的字符串中删除某些字符。我有一个需要删除的字符列表或字符范围,用十六进制表示,如下所示:

- "0x00:0x20"
- "0x7F:0xA0"
- "0x1680"
- "0x180E"
- "0x2000:0x200A"
我正在将此列表转换为如下所示的正则表达式:

re.sub(u'[\x00-\x20 \x7F-\xA0 \x1680 \x180E \x2000-\x200A]', ' ', my_str)
但是,当我有
\x2000-\x200A
时,我得到了一个错误

我发现Python实际上不会将
u'\x2000'
解释为字符:

>>> '\x2000'
' 00'
它将其视为“x20”(一个空格)以及其后的任何内容:

>>> '\x20blah'
' blah'
x2000是有效的unicode字符:

我希望Python以这种方式处理它,这样我就可以使用
re
从字符串中删除它

另外,我想知道从字符串中删除这些字符的另一种方法


谢谢你的帮助。谢谢

在unicode字符串中,您需要指定unicode字符(
\unnn
而不是
\xNNNN
)。以下工作:

>>> import re
>>> my_str=u'\u2000abc'
>>> re.sub(u'[\x00-\x20 \x7F-\xA0 \u1680 \u180E \u2000-\u200A]', ' ', my_str)
' abc'

在unicode字符串中,需要指定unicode字符(
\unnn
而不是
\xNNNN
)。以下工作:

>>> import re
>>> my_str=u'\u2000abc'
>>> re.sub(u'[\x00-\x20 \x7F-\xA0 \u1680 \u180E \u2000-\u200A]', ' ', my_str)
' abc'

在unicode字符串中,需要指定unicode字符(
\unnn
而不是
\xNNNN
)。以下工作:

>>> import re
>>> my_str=u'\u2000abc'
>>> re.sub(u'[\x00-\x20 \x7F-\xA0 \u1680 \u180E \u2000-\u200A]', ' ', my_str)
' abc'

在unicode字符串中,需要指定unicode字符(
\unnn
而不是
\xNNNN
)。以下工作:

>>> import re
>>> my_str=u'\u2000abc'
>>> re.sub(u'[\x00-\x20 \x7F-\xA0 \u1680 \u180E \u2000-\u200A]', ' ', my_str)
' abc'
从文档()中:

Unicode文字还可以使用与8位相同的转义序列 字符串,包括\x,但\x只接受两个十六进制数字,因此它不能 表示任意代码点。八进制逃逸可以上升到U+01ff, 这是八进制777

从文档()中:

Unicode文字还可以使用与8位相同的转义序列 字符串,包括\x,但\x只接受两个十六进制数字,因此它不能 表示任意代码点。八进制逃逸可以上升到U+01ff, 这是八进制777

从文档()中:

Unicode文字还可以使用与8位相同的转义序列 字符串,包括\x,但\x只接受两个十六进制数字,因此它不能 表示任意代码点。八进制逃逸可以上升到U+01ff, 这是八进制777

从文档()中:

Unicode文字还可以使用与8位相同的转义序列 字符串,包括\x,但\x只接受两个十六进制数字,因此它不能 表示任意代码点。八进制逃逸可以上升到U+01ff, 这是八进制777


非常感谢。我只需要在开始时使用“\u”并用0填充,而不是“\x”谢谢。我只需要在开始时使用“\u”并用0填充,而不是“\x”谢谢。我只需要在开始时使用“\u”并用0填充,而不是“\x”谢谢。我只需要使用“\u”并在开头用0填充,而不是“\x”