所以我目前正在开发一个程序,部分程序我需要替换字符串的AND / OR评估。像1 + 0这样的东西意味着1或0.但是当我尝试使用replaceAll(“1 + 0”,“1”)时,它不会取代它。我目前的代码是
String test = "ab*0+1";
test = test.replaceAll("0+1", "1");
System.out.println(test);
然而,这个输出只给我
ab*0+1
。
我快速打印了test.indexOf(“0 + 1”),它给了我3.所以我知道程序可以看到它,它只是不会取代它。有什么想法吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
由于replaceAll
期望字符串定义正则表达式,+
在正则表达式中特殊,因此"0+1"
表示“数字0
一次或多次,后跟数字1
“,匹配"01"
,"001"
,"00001"
等。
要指定一个字面意思使用的字符串,请使用replace
,而不是replaceAll
。