1. ホーム
  2. java

[解決済み] 文字列置換メソッドで文字が置換されない

2023-05-31 13:07:19

質問

文字列で渡された文章があり、"and" という単語を " " に置き換えたいのです。 そして、"and"という単語を空白で置き換えることはしていません。 以下は、私のロジックの例です。 そして、これをデバッグすると、ロジックは文.replaceに落ちます。

String sentence = "Define, Measure, Analyze, Design and Verify"
if (sentence.contains("and")){
    sentence.replace("and", " ");
}

何か見落としているところがあるのでしょうか。

どのように解決するのですか?

<ブロッククオート

そして、これをデバッグすると、ロジックはsentence.replaceに落ちているのです。

はい、そして戻り値を破棄します。

Java の文字列は不変です - 呼んだときに replace を呼び出したとき、それは 既存の 文字列の内容は変更されません。 新しい 文字列を返します。つまり、あなたが望むのは

sentence = sentence.replace("and", " ");

これは すべて のメソッドは、文字列 ( substring , toLowerCase など)。 なし のいずれかが文字列の内容を変更します。

このようなことを条件付きで行う必要はないことに注意してください - 結局、もし文が を含む場合 "and" を含む場合、置換を実行しても害はありません。

String sentence = "Define, Measure, Analyze, Design and Verify";
sentence = sentence.replace("and", " ");