2017-02-01 4 views
3

文字列から特定非ASCII文字を削除here。外のpython私はそのような行を持って

SyntaxError: Non-ASCII character '\xe2' in file C:/-------.py on line --, but no encoding declared;

+0

import re text = "[x+]4 gur Id lú gal sik-kát ⌈ x x ⌉ [……………]" re.sub('[…⌉⌈]', '', text) # this will replace all the element in [] with '' 

から。 –

答えて

0
'[x+]4 gur Id lú gal sik-kát ⌈ x x ⌉ [……………]'.encode().decode('ascii', errors='ignore') 

::私が書くたび

はまた、これらの文字の一つは、次のエラー行を取得イム

'[x+]4 gur Id l gal sik-kt x x []' 

利用エンコードバイトに文字列を変換し、でそれをデコードしますasciiとエラーが表示されます。

私はあなたがre.subを使うべきだと思う: `ú`はあまりにも非ASCIIであることを忘れないでください

'[x+]4 gur Id lú gal sik-kát x x []' 
+0

しかし、私はúを保持したいと – Yonlif

1

使用str.translate

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 

import string 

s = "[x+]4 gur Id lú gal sik-kát ⌈ x x ⌉ [……………]" 
r = s.translate(None, '…⌉⌈') 

print(r) 
# [x+]4 gur Id lú gal sik-kát x x [] 
+0

それは動作していない - SyntaxError:行の57のC:/ ---------- pyで非ASCII文字 '\ xe2'が、宣言されているエンコーディング; – Yonlif

+0

@Yonlifの場合は、ファイルの先頭に '# - * - coding:utf-8 - * - 'を追加してください。更新された回答を確認しました。 – SparkAndShine

関連する問題