7

私の質問は非常に簡単です:

「\」「」に置き換える方法???

私はこれを試しました:

str.replaceAll("\\", "");

しかし、私は例外を取得します

08-04 01:14:50.146: I/LOG(7091): java.util.regex.PatternSyntaxException: Syntax error U_REGEX_BAD_ESCAPE_SEQUENCE near index 1:
4

3 に答える 3

25

これに(正規表現を使用する)を使用しない場合は簡単です- (プレーン文字列を使用する)を使用するだけです。本当に正規表現が必要でない限り、正規表現形式を使用しないでください。それは物事をより複雑にするだけです。replaceAllreplace

orを呼び出す だけでは意味がないことを忘れないでください。文字列は不変であるため、戻り値を使用する必要があります。replacereplaceAll

String replaced = str.replace("\\", "");
于 2012-08-03T21:21:16.963 に答える
11

\\文字列エスケープの後です\。これは、正規表現のエスケープ文字でもあります

String newStr = str.replaceAll("\\\\", "");

(結果を割り当てることを忘れないでください)

また、正規表現が期待される入力として文字列を使用する場合は、IMO を使用する方が安全Pattern#quoteです。

String newStr = str.replaceAll(Pattern.quote("\\"), "");
于 2012-08-03T21:20:20.757 に答える
10

これを試してください:

str.replaceAll("\\\\", "");

\正規表現でエスケープする必要があります => と書く必要が\\あり、それぞれ\を Java でエスケープする必要があります => それが 4 がある理由です\

于 2012-08-03T21:19:00.393 に答える