java,String类型的字符串使用replaceFirst()方法替换指定字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java,String类型的字符串使用replaceFirst()方法替换指定字符串相关的知识,希望对你有一定的参考价值。

被替换的字符字符串喊有^特殊字符,怎样改善代码能实现这个替换成功。有经历的大神求给具体的一个方法操作,感激不尽
String类型的replaceFirst()方法中,参数含有不可替代字符^,在不去掉特殊字符^情况下,怎样才能实现成功替换。

自己找到答案了,希望能帮到大家
在这之前将特殊字符^进行转义,将replaceFirst()里面的第一个参数中的^进行转义,即参数名.replace("^","\\^");

java原生替换使用的是正则匹配,效率相对低。
建议使用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)

sql语句replace函数的使用

在java中replace方法如何使用

JAVA中string.replace和string.replaceAll的区别及用法

JAVA中string.replace和string.replaceAll的区别及用法

java中的String类