0

ユーザーが文字列に特殊文字「\」を入力したかどうかを確認する必要があるAndroidアプリケーションがあります。しかし、string.replaceAll() メソッドを使用しても成功しません。これは、Java が " 終了タグではなく \ を文字列の末尾として認識するためです。これを修正する方法について誰か提案がありますか?ここに例があります私がこれをやろうとした方法の:

private void ReplaceSpecial(String text) {
     if (text.trim().length() > 0) {
    text = text.replaceAll("\", "%5C");
}

Javaが許可していないため、機能しません。助言がありますか?

4

6 に答える 6

1

まず、「\」は Java のエスケープ文字であるため、1 つのバックスラッシュを得るには 2 つのバックスラッシュを使用する必要があります。第 2 に、replaceAll() メソッドはパラメーターとして正規表現を取るため、そのバックスラッシュもエスケープする必要があります。したがって、次を使用してエスケープする必要があります

text = text.replaceAll("\\\\", "%5C");
于 2013-04-11T14:14:25.863 に答える