Reputation: 1953
I have these two lines in an old Perl script. When I write the Python equivalent I get all sorts of errors like valueerror: invalid \x
escape, and stuff about encoding.
$line =~ s/[^\x{8}-\x{7B}]/ /ig;
$line =~ s/(Û|²|°|±|É|¹|Í)/ /g;
What do I need to do to get them working in Python?
Upvotes: 0
Views: 132
Reputation: 43446
For encoding issues, if you want to put Unicode characters in your source directly, you'll need to make sure the Python interpreter knows what your file encoding is. See:
Upvotes: 0
Reputation: 46228
I'm not too great with Perl regex but I think I may have solved it:
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)
Upvotes: 1