ホームページ >バックエンド開発 >Python チュートリアル >文字列内の複数の文字を効率的に置換するにはどうすればよいですか?
個々の文字をエスケープされた対応する文字に置き換えるアプローチは技術的には正しいですが、さらに多くの点があります。複数の文字置換を実行するための効率的な方法string.
1 つの方法は、メソッド f:
で見られるように、置換を連鎖させることです。text = text.replace('&', '\&').replace('#', '\#')
このアプローチはシンプルで比較的高速ですが、文字数が増えると扱いにくくなります。
b) 正規表現の使用もう 1 つのオプションは、メソッド c
に示すように、正規表現を使用することです。import re rx = re.compile('([&#])') text = rx.sub(r'\', text)正規表現は、文字置換を処理するためのより簡潔かつ強力な方法を提供しますが、
3 番目のアプローチは、文字列を受け取るカスタム エスケープ関数を作成することです。メソッド e
:def mk_esc(esc_chars): return lambda s: ''.join(['\' + c if c in esc_chars else c for c in s]) esc = mk_esc('&#') text = esc(text)このメソッドに見られるように、エスケープされたバージョンを返します。は、文字置換を実行するためのクリーンで再利用可能な方法を提供しますが、少数の置換では連鎖アプローチよりも効率が低下する可能性があります。
以上が文字列内の複数の文字を効率的に置換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。