1

「、」を「。」に置き換えることを見てきました。".$"|",$" を使用しますが、このロジックはアルファベットでは機能しません。Javaを使用してEXAMPLE_TESTを含む文字列内のすべての単語について、単語の最後の文字を別の文字に置き換える必要があります。これは私のコードです

  Pattern replace = Pattern.compile("n$");//here got the real problem
  matcher2 = replace.matcher(EXAMPLE_TEST);
  EXAMPLE_TEST=matcher2.replaceAll("k");

"//n$" 、"\n$" なども試しました 解決策を得るのを手伝ってください 入力テキスト=>njan ayman 出力テキスト=> njak aymak

4

4 に答える 4

0

設定方法は次のとおりです。

(?=.\b)\w

Java では、次のようにエスケープする必要があります。

(?=.\\b)\\w

「単語 (\b) の末尾にある (?=) 任意の単一文字 (.) の後の文字 (\w)」のようなものに変換されます。

String s = "njan ayman aowkdwo wdonwan. wadawd,.. wadwdawd;";
s = s.replaceAll("(?=.\\b)\\w", "");
System.out.println(s); //nja ayma aowkdw wdonwa. wadaw,.. wadwdaw;

これにより、すべての単語の最後の文字が削除されますが、英数字以外の文字は残ります。を別のものに変更することで、特定の文字のみを削除/置換するように指定できます.

ただし、他の回答は完全に優れており、探しているものを正確に達成できる可能性があります。

于 2014-09-24T06:35:28.383 に答える
-1
if (word.endsWith("char oldletter")) {
    name = name.substring(0, name.length() - 1 "char newletter");
}
于 2015-11-12T05:49:54.667 に答える