ホームページ  >  記事  >  バックエンド開発  >  Python で英数字以外の文字を効率的に削除するにはどうすればよいですか?

Python で英数字以外の文字を効率的に削除するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-06 11:30:03346ブラウズ

How to Efficiently Strip Non-Alphanumeric Characters in Python?

Python での英数字以外の文字の削除

Python で文字列から英数字以外の文字を削除するには、PHP とは少し異なるアプローチが必要です。 .

Pythonicメソッド

真に「Python 的な」ソリューションの場合は、次のメソッドを検討してください。

  • 英数字を結合します。 リスト内包表記を使用して、文字列内の文字を結合し、英数字のみを結合します
  • 英数字のフィルター: 英数字以外の文字をフィルターで除外するには、filter() 関数と str.isalnum() を使用します。

代替アプローチ

パフォーマンスを考慮して、他の方法を使用することもできます。高速:

  • [W_] による正規表現置換: 正規表現 ([W_] ) をコンパイルして、英数字以外の文字をすべて一致させて置換します。
  • * *pattern.sub() による正規表現置換: 置換を繰り返す場合は、re.compile() を使用して正規表現をプリコンパイルしてから、 use pattern.sub().

パフォーマンス ベンチマーク

次に、string.printable 文字列を使用したさまざまなメソッドのタイミング結果を示します。

Method Time (μs/loop)
Join alphanumeric 57.6
Filter alphanumeric 37.9
Regex substitution with [W_] 27.5
Regex substitution with [W_] 15
Regex substitution with pattern.sub() 11.2

タイミングは、pattern.sub() でプリコンパイルされた正規表現を使用するのが最も速いことを示しています。メソッド。

以上がPython で英数字以外の文字を効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。