我想替换"<(><<)>"
与“<”,但在我的情况下它没有替换。
public class Test2 {
public static void main(String[] args)
{
String s1 = "<(><<)>script>";
if( s1.contains("<(><<)>"))
{
s1.replaceAll("<(><<)>","<");
}
System.out.println("completeText"+s1);
}
}
最佳答案
那是因为
replaceAll
的第一个参数是一个正则表达式,这意味着您必须转义一些字符。- 您必须返回结果(字符串是不可变的,因此
replaceAll
不会更改您传递的字符串,而是构建一个新字符串)
使用
s1 = s1.replaceAll("<\\(><<\\)>","<");
另请注意,您不必测试 if( s1.contains("<(><<)>"))
:这增加了一个无用的条件和 replaceAll
速度够快。
关于java - Java中不使用replace函数替换字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13393303/