java中replace替换问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中replace替换问题相关的知识,希望对你有一定的参考价值。

package has;

public class has

public static void stringReplace(String text)
text=text.replace('j','L');


public static void bufferReplace(StringBuffer text)
text=text.append("c");


public static void main(String[] args)

/**int j = 0;
for(int i = 0;i<100;i++)

j=j++;

System.out.println(j+ " " );
*/
String textString=new String("java");
StringBuffer textBuffer=new StringBuffer("java");
stringReplace(textString);
bufferReplace(textBuffer);
System.out.println(textString+textBuffer);




为什么输出javajavac啊?
stringReplace方法结束以后,并没有改变textString在堆中的java?

参考技术A 这个实例就很好,说明了java中String和StringBuffer的区别。
StringBuffer对象的内容可以修改;而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象。追问

在你回答之前我百度出来了,不过依旧谢谢你。

本回答被提问者采纳
参考技术B 实现思路:先获取到特定位置的字符,之后直接替换即可
public class strRepalce
public static void main(String[]args)
//要替换的一个字符串
String str="abcmdf";
//获取指定字符位置 例如取 替换c字符
int i=str.indexOf("c");
//str.charAt(i) 取出指定字符(char类型 无法直接转string) String.valueOf 转换成string类型
String str2=String.valueOf(str.charAt(i));
//X为指定替换字符
str=str.replaceFirst(str2,"X");

System.out.println(str);

Java中replace与replaceAll区别

1.replace方法的参数是char和charSequence(字符串序列),也就是说replace方法既支持字符的替换,也支持字符串的替换。

 

2.replaceAll方法的参数是char和regex,支持字符或者正则表达式的替换,比如通过replaceAll("\d","*")将字符串中所有数字替换为*。

 

相同点都是全部替换。

以上是关于java中replace替换问题的主要内容,如果未能解决你的问题,请参考以下文章

java replace方法

java中的replace函数如何使用

java语言 用String的replace方法替换变量值的问题,替换无效

Java怎么使用replace替换字符串中的某一位的字符

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

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