JAVA如何将一个带有单引号的字符串去掉单引号,例如:✀SL✀ 去掉后变成SL

2025-03-07 06:49:04
推荐回答(2个)
回答1:

String regexp = "\'";
String str = "'SL'";
System.out.println("替换前:" + str);
str = str.replaceAll(regexp, "");
System.out.println("替换后:" + str);

我开始时犯了个很弱智的错误,以至于现在搞了近二十分钟才出来。就是把上面的
str = str.replaceAll(regexp, "");
换成
str.replaceAll(regexp, "");
然后再打印,发现结果始终是 ’SL',
后来恍然大悟,String类被final修饰,是不可变的。所以对String对象施加任何操作都不会改变它的内容。而 str.replaceAll(regexp, ""); 相当于创建了一个新的字符串对象,即去掉了单引号的源字符串。 再修改字符串引用 str 指向新的字符串。则现在打印的就是去掉单引号后的字符串了。

回答2:

用replaceAll 或者str.subString(str.indexOf("'")+1,str.lastIndexOf("'"));