ホームページ >バックエンド開発 >Python チュートリアル >Python の文字列から英数字以外の文字を効率的に削除するにはどうすればよいですか?
Python の文字列から英数字以外の文字を削除する
文字列から英数字以外の文字を削除するには、文字、数字、文字以外の文字を削除する必要があります。アンダースコア。 PHP 用のソリューションは存在しますが、Python の原則に沿っていない可能性があります。
効率的な方法の 1 つは、英数字以外の文字 (W_) に一致する正規表現を定義し、それを空の文字列に置き換えることです。 re.sub() 関数をコンパイル済み正規表現パターンとともに使用します。
<code class="python">import re, string pattern = re.compile('[\W_]+') # Compiled regular expression string.printable = string.printable.replace(pattern, '') # Substitute non-alphanumeric characters with empty string</code>
その他の方法には、リスト内包表記を使用して英数字以外の文字をフィルターで除外する方法や、filter( 内で str.isalnum() メソッドを使用する方法などがあります。 ):
<code class="python">''.join(ch for ch in string if ch.isalnum()) filter(str.isalnum, string)</code>
比較ベンチマークにより、コンパイルされた正規表現を使用した re.sub() アプローチが最高のパフォーマンスをもたらすことがわかりました:
$ python -m timeit -s \ "import re, string; pattern = re.compile('[\W_]+')" \ "pattern.sub('', string.printable)" 100000 loops, best of 3: 11.2 usec per loop
以上がPython の文字列から英数字以外の文字を効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。