25

関数を使用して特定の文字列から特定の単語を削除しようとしていますreplace()replaceAll()、別の単語の一部であっても、これらの単語の出現をすべて削除します。

例:

String content = "is not like is, but mistakes are common";
content = content.replace("is", "");

出力: "not like , but mtakes are common"

必要な出力: "not like , but mistakes are common"

文字列から単語全体だけを置き換えるにはどうすればよいですか?

4

4 に答える 4

46

なんてこった、

String regex = "\\s*\\bis\\b\\s*";
content = content.replaceAll(regex, "");

replaceAll(...)正規表現を使用するために使用する必要があることを忘れないでくださいreplace(...)

  • \\bあなたに言葉の境界を与える
  • \\s*削除される単語の両側の空白を削除します(これも削除する場合)。
于 2012-05-19T01:06:06.813 に答える
5

content = content.replaceAll("\\Wis\\W|^is\\W|\\Wis$", "");

于 2012-05-19T01:05:45.867 に答える
0

「is」を「」に置き換えてみてください。前後にスペースがあり、1つのスペースに置き換えられています。

アップデート:

文の最初の「is」で機能させるには、「is」を「」に置き換えてください。最初のisと最初のスペースを空の文字列に置き換えます。

于 2012-05-19T01:03:18.107 に答える