我想从字符串中只获得字符:+,-,/,x
但是这表示-
是一个冗余的字符范围。
String operacoes=texto.replaceAll("[^+?-?/?x]+"," ");
我怎样才能做到这一点?
答案 0 :(得分:1)
只需在\\
字符之前添加-
即可。因为正则表达式中使用的-
字符有各种各样的方式
[A-Z] [0- 9]
等等。因此,要确定-
,您需要将\\
放入java中,因为单个\
不支持java中的字符串。
String texto="3 + 4 - 5 + 4";
String operacoes=texto.replaceAll("[^+?\\-?/?x]+"," ");
System.out.println(""+operacoes);
答案 1 :(得分:0)
你必须使用双反斜杠转义减号。
String operacoes=texto.replaceAll("[^+?\\-?/?x]+"," ");
由于在正则表达式中使用了字符-
答案 2 :(得分:0)
String texto = "1+2-3/4x5";
String operacoes=texto.replaceAll("[^+?\\-?/?x]+"," ");
System.out.println(operacoes);
生成输出
+ - / x