JAVA如何将一个带有单引号的字符串去掉单引号,例如:'SL' 去掉后变成SL
2个回答
展开全部
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 指向新的字符串。则现在打印的就是去掉单引号后的字符串了。
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 指向新的字符串。则现在打印的就是去掉单引号后的字符串了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询