個々の文字をエスケープされた対応する文字に置き換えるアプローチは技術的には正しいですが、さらに多くの点があります。複数の文字置換を実行するための効率的な方法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 サイトの他の関連記事を参照してください。