字符串替换
replace()
replace() 方法通过用 newChar 字符替换字符串中出现的所有 searchChar 字符,并返回替换后的新字符串。
语法
public String replace(char searchChar, char newChar)
参数
- searchChar – 原字符。
- newChar – 新字符。
返回值
替换后生成的新字符串。
实例
以下实例对字符串 Runoob 中的字符进行替换:
public class Main {
public static void main(String args[]) {
String Str = "hello";
System.out.println(Str.replace('o', 'T'));
System.out.println(Str.replace('l', 'D'));
}
}
以上程序执行结果为:
hellT
heDDo
源码
public String replace(char oldChar, char newChar) {
if (oldChar != newChar) {
int len = value.length;
int i = -1;
char[] val = value; /* avoid getfield opcode */
while (++i < len) {
if (val[i] == oldChar) {//找到第一个替换的位置
break;
}
}
if (i < len) {
char buf[] = new char[len];
for (int j = 0; j < i; j++) {
buf[j] = val[j];//保存位置i之前的字符
}
while (i < len) {
char c = val[i];
buf[i] = (c == oldChar) ? newChar : c;//替换位置i以后字符
i++;
}
return new String(buf, true);
}
}
return this;
}
replaceAll
replaceAll() 方法使用给定的参数 replacement 替换字符串所有匹配给定的正则表达式的子字符串。
语法
public String replaceAll(String regex, String replacement)
参数
- regex – 匹配此字符串的正则表达式。
- replacement – 用来替换每个匹配项的字符串。
返回值
成功则返回替换的字符串,失败则返回原始字符串。
实例
String str ="www.google.com";
System.out.println(str.replaceAll("(.*)google(.*)", "baidu" ));//baidu
System.out.println(str.replaceAll("(.*)taobao(.*)", "baidu" ));//www.google.com
源码
public String replaceAll(String regex, String replacement) {
return Pattern.compile(regex).matcher(this).replaceAll(replacement);
}
采用Pattern进行替换
replaceFirst
replaceFirst() 方法使用给定的参数 replacement 替换字符串第一个匹配给定的正则表达式的子字符串。
用法同replaceAll
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY