在Java中使用String的方法替换String

时间:2015-04-16 14:25:52

标签: java android

我想从字符串中只获得字符:+,-,/,x
但是这表示-是一个冗余的字符范围。

String operacoes=texto.replaceAll("[^+?-?/?x]+"," ");

我怎样才能做到这一点?

3 个答案:

答案 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