私はString.replaceAll
を使用しようとしているが、私はエラーを取得しています:ここでJavaエラーでReplaceAllを使用している間( "+ - "、 " - ")
は私のコードです:
public static String signSimplify (String str) {
String strr = str.replaceAll("--", "+");
String strr2 = strr.replaceAll("-+", "-");
String strr3 = strr2.replaceAll("+-", "-");
return strr3;
}
そして、 、実行されたときに、私は次のエラーを取得:( - 、「 - 」「+」)
Exception in thread "main" java.util.regex.PatternSyntaxException: Dangling meta character '+' near index 0
+-
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.sequence(Unknown Source)
at java.util.regex.Pattern.expr(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.lang.String.replaceAll(Unknown Source)
at fr.genius.main.Main.signSimplify(Main.java:108)
at fr.genius.main.Main.calcTrinome(Main.java:88)
at fr.genius.main.Main.main(Main.java:69)`
を私がでReplaceAllを使用することはできませんなぜ私は理解していないが、私は+とすることができたときに - 反転しています。
あなたは 'replaceAll'メソッドのドキュメントを読もうとしましたか? – njzk2
これは正規表現です。 '+'は正規表現のメタキャラであり、それが動作するためには何か「前」が必要です。 '+'は '-'を変更しているので動作しますが、' + 'は変更されません。 –
StackOverflowを使用して簡単にGoogleを使用して回答を見つけることができる質問をする場合は、少なくとも以下の回答を正解として選択します。トム・Nの答えが最善の答えなので、決定できなければ彼の答えを選んでください。 – searchengine27