(3)replaceとreplaceAllは正規表現を内部的に使用します。StringUtils.replace(..)。replacement);}String.replaceAll()はPattern.compileを下に使います。Matcher.quoteReplacement(replacement.toString()));}文字列内の部分文字列のすべての置換を参照してください。これはJavaでより効率的ですか?文字列内のトークンの検索と置換を行う古いコードがあります。toの値に置き換えます。これはStringBufferすべての作業を行い、最終的にString返します。"");私はいくつかの比較パフォーマンステストを実行しました。"");この結果、次の結果が得られました。]*私がしたかったことをしなかった。]+非Regexベースのソリューションのパフォーマンスとほぼ同等でした。コンパイルされた正規表現を使うと助けになりましたが、限界がありました。(これは私の問題に非常に適した解決策です。テストコード:文字列をRegex:[、、。*文字列をRegex:[、、。+文字列をRegex:[、、。"")に関しては、正規表現に依存しているのでそれほど驚きはありません。正規表現エンジンは入力に対して実行されるオートマトンを作成します。若干のオーバーヘッドが予想されます。)では正規表現も内部的に使用されます。与えられたパターンはPattern.LITERALを使ってコンパイルされるので、正規表現のオーバーヘッドは無視してください。)この場合はおそらくStringsが不変であることが原因です(小さな変更を行い、新しい文字列を作成します)。したがって、インプレースの文字列を操作するStringBuffersほど効率的ではありません。#2私がコメントに入れたように[、。したがって、文字間のすべての「スペース」がパターンに一致します。""で置き換えるため、パフォーマンスにのみ注意が払われます。