替换字符串的部分

两种替换方法:通过正则表达式或完全匹配。

注意: 原始的 String 对象将保持不变,返回值包含已更改的 String。

完全符合

用另一个单个字符替换单个字符:

String replace(char oldChar, char newChar) 

返回一个新字符串,该字符串是使用 newChar 替换此字符串中出现的所有 oldChar。

String s = "popcorn";
System.out.println(s.replace('p','W'));

结果:

WoWcorn

用另一个字符序列替换字符序列:

String replace(CharSequence target, CharSequence replacement) 

将此字符串中与文字目标序列匹配的每个子字符串替换为指定的文字替换序列。

String s = "metal petal et al.";
System.out.println(s.replace("etal","etallica"));

结果:

metallica petallica et al.

正则表达式

注意 :分组使用 $ 字符来引用组,例如 $1

替换所有匹配:

String replaceAll(String regex, String replacement) 

将给定替换的给定正则表达式匹配的此字符串的每个子字符串替换。

String s = "spiral metal petal et al.";
System.out.println(s.replaceAll("(\\w*etal)","$1lica"));

结果:

spiral metallica petallica et al.

仅替换第一个匹配:

String replaceFirst(String regex, String replacement) 

将给定替换的给定正则表达式匹配的此字符串的第一个子字符串替换

String s = "spiral metal petal et al.";
System.out.println(s.replaceAll("(\\w*etal)","$1lica"));

结果:

spiral metallica petal et al.