【发布时间】:2010-01-10 23:26:52
【问题描述】:
我在旧的 Perl 脚本中有这两行。当我编写 Python 等效项时,会遇到各种错误,例如 valueerror: invalid \x escape,以及有关编码的内容。
$line =~ s/[^\x{8}-\x{7B}]/ /ig;
$line =~ s/(Û|²|°|±|É|¹|Í)/ /g;
我需要做什么才能让他们在 Python 中工作?
【问题讨论】:
我在旧的 Perl 脚本中有这两行。当我编写 Python 等效项时,会遇到各种错误,例如 valueerror: invalid \x escape,以及有关编码的内容。
$line =~ s/[^\x{8}-\x{7B}]/ /ig;
$line =~ s/(Û|²|°|±|É|¹|Í)/ /g;
我需要做什么才能让他们在 Python 中工作?
【问题讨论】:
我不太擅长 Perl 正则表达式,但我想我可能已经解决了:
invalid_range = re.compile(r'[^\x08-\x7B]', re.I)
invalid_unicode = re.compile(ur'(Û|²|°|±|É|¹|Í)')
line = re.sub(invalid_range , '', line)
line = re.sub(invalid_unicode, '', line)
【讨论】:
对于编码问题,如果您想直接将 Unicode 字符放入源代码中,您需要确保 Python 解释器知道您的文件编码是什么。见:
【讨论】: