使用Java中的replaceAll格式化字符串问题

时间:2017-04-16 20:44:25

标签: java string formatting

我有一个字符串:

String strung = (1.0√(10.0))/1.0

进行以下调用后:

strung = strung.replaceAll(".0","");
strung = strung.replaceAll("1√","√");

我不希望得到这个:

(√())/1

我只需要获得以下内容,但我很难设置

√10

感谢您的任何建议

1 个答案:

答案 0 :(得分:2)

使用replace,而不是replaceAll

replaceAll的参数分别被解释为正则表达式和正则表达式替换。因此,.被解释为“任何字符”。

replace从字面上理解参数,因为"."只匹配字符串中的句点。

当然,您也可以继续使用replaceAll,但转义.

strung = strung.replaceAll("\\.0","");