目录
前言
一、String的replace()方法
二、String的replaceAll()方法
三、StringBuffer/StringBuilder的replace()方法
四、Matcher的replaceAll()方法
总结
前言
在日常开发中,我们对字符串的操作非常频繁,今天我总结了一下字符串替换常用的4种方式,这里再强调下字符串是不可变的,进行字符串替换后记得赋值。
一、String的replace()方法
使用String的replace()方法:该方法可以将字符串中的某个字符或字符串替换为另一个字符或字符串。例如:
String str = "Hello World";String newStr = str.replace("World", "Java");System.out.println(newStr); // 输出:Hello Java
二、String的replaceAll()方法
使用String的replaceAll()方法:该方法可以使用正则表达式来匹配需要替换的字符串,并将其替换为指定的字符串。例如:
String str = "Hello 123 World";String newStr = str.replaceAll("[0-9]+", ""); // 移除所有数字System.out.println(newStr); // 输出:Hello World
三、StringBuffer/StringBuilder的replace()方法
使用StringBuffer或StringBuilder的replace()方法:这两个类都提供了replace()方法来替换字符串中的某个字符或字符串。区别在于StringBuffer是线程安全的,而StringBuilder是非线程安全的。例如:
StringBuffer sb = new StringBuffer("Hello World");sb.replace(6, 11, "Java"); // 将索引6到11的部分替换为"Java"System.out.println(sb.toString()); // 输出:Hello JavaStringBuilder sb = new StringBuilder("Hello World");sb.replace(6, 11, "Java"); // 将索引6到11的部分替换为"Java"System.out.println(sb.toString()); // 输出:Hello Java
四、Matcher的replaceAll()方法
使用正则表达式和Matcher类进行替换:使用Pattern和Matcher类来匹配需要替换的字符串,并使用Matcher的replaceAll()方法进行替换。例如:
String str = "Hello 123 World";Pattern pattern = Pattern.compile("[0-9]+");Matcher matcher = pattern.matcher(str);String newStr = matcher.replaceAll(""); // 移除所有数字System.out.println(newStr); // 输出:Hello World
总结
本文归纳总结了几种常见的Java字符串替换方法,根据具体需求选择适合的方法即可。