java,String类型的字符串使用replaceFirst()方法替换指定字符串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java,String类型的字符串使用replaceFirst()方法替换指定字符串相关的知识,希望对你有一定的参考价值。
被替换的字符字符串喊有^特殊字符,怎样改善代码能实现这个替换成功。有经历的大神求给具体的一个方法操作,感激不尽
String类型的replaceFirst()方法中,参数含有不可替代字符^,在不去掉特殊字符^情况下,怎样才能实现成功替换。
自己找到答案了,希望能帮到大家
在这之前将特殊字符^进行转义,将replaceFirst()里面的第一个参数中的^进行转义,即参数名.replace("^","\\^");
建议使用org.apache.commons.lang.StringUtils.replace,此方法为字符串替换(非正则)
http://commons.apache.org/proper/commons-lang/ 参考技术A String str = "abfdsf^&DFDF";
str = str.replaceFirst("\\^", ""); 参考技术B String a = "a^b^c";
String c = a.replaceAll("\\^","");
采纳
解决java的String类型无法改变原字符串(StringBuilder)
java的字符串类型有一个很大的麻烦之处便是不能改变他的值(我不知道如何改变),连replace()函数也不能改变他的值。
如果硬要用replace函数,只能是s = s.replace(char oldChar,char newChar)
所以我便找到了一个新的方法,StringBuilder。
接下来介绍StringBuilder的操作步骤。
1.头文件import java.lang.StringBuilder;
2.String str = sc.next();
StringBuilder sb = new StringBuilder(str);
(以上步骤便是通过输入给sb赋了值)
3.接下来介绍StringBuilder一些常用的方法。(假设sb里面的值为ab)
append() //字符串连接
sb.append("a");
输出sb:aba
setCharAt(int i,char c) //将第 i 个代码单元设置为 c
sb.setCharAt(2,‘c‘);
输出sb:abc;
delete(int startIndex,int endIndex) //删除起始位置(含)到结尾位置(不含)之间的字符串
sb.delete(0,1);
输出sb:bc;
replace(int start, int end, string str) //将起始位置(含)到结尾位置(不含)之间的字符替换为输入的str
sb.delete(0,1,"e");
输出sb:ec;
以上是关于java,String类型的字符串使用replaceFirst()方法替换指定字符串的主要内容,如果未能解决你的问题,请参考以下文章
解决java的String类型无法改变原字符串(StringBuilder)
JAVA中string.replace和string.replaceAll的区别及用法