[解決済み】非ASCII文字を半角スペースで置換する方法
2022-04-01 12:03:09
質問
ASCII文字以外をすべてスペースに置き換えたいのですが。Pythonでこれが簡単にできることに驚いています。次の関数は、非ASCII文字をすべて削除します。
def remove_non_ascii_1(text):
return ''.join(i for i in text if ord(i)<128)
そして、こちらは非ASCII文字を文字コードポイントのバイト数に応じた量の空白に置き換えます(すなわち
–
文字は3つのスペースに置き換えられます。)
def remove_non_ascii_2(text):
return re.sub(r'[^\x00-\x7F]',' ', text)
非ASCII文字をすべてスペース1文字に置き換えるにはどうしたらよいですか?
の その 千差万別 の 類似 SO 質問 , なし アドレス 文字 置換 として 反対 へ ストリップ , と さらに、特定の文字ではなく、すべての非アスキー文字に対応します。
解決方法は?
あなたの
''.join()
の表現は
フィルタリング
その代わりに条件式を使うこともできます。
return ''.join([i if ord(i) < 128 else ' ' for i in text])
これは、文字を一つずつ処理するもので、置換された文字ごとに1つのスペースを使用することに変わりはありません。
正規表現では 連続 非ASCII文字をスペースに置き換える。
re.sub(r'[^\x00-\x7F]+',' ', text)
注意
+
があります。
関連
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
Pythonショートビデオクローラーチュートリアル
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】NameError: 名前 'self' が定義されていません。
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない
-
[解決済み] 特定のUnicode文字を含むコメントでのJavaコードの実行が許可されているのはなぜですか?
-
[解決済み】ASCII以外の文字をすべてgrepする方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
任意波形を生成してtxtで保存するためのPython実装
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】syntaxError: 'continue' がループ内で適切に使用されていない
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み】NameError: グローバル名 'unicode' が定義されていない - Python 3 の場合
-
[解決済み】Pythonで文字列がASCIIであるかどうかを確認するには?