Java基础——字符串替换

String类提供了3种实现字符串替换的方法,分别是:replace()、replaceFirst()和replaceAll()。

  1. replace()方法
    replace() 方法用于将目标字符串中的指定字符(串)全部替换成新的字符(串),其语法格式为:
字符串.replace(String oldChar, String newChar)

示例:

@Test
public void test01() {
	String str = "Hello World!";
	str = str.replace(" ", ",");
	System.out.println(str); // Hello,World!
}

@Test
public void test02() {
	String str = "Hello World!";
	str = str.replace('e', 'o');
	System.out.println(str);	// Hollo World!
}
  1. replaceFirst() 方法
    replaceFirst() 方法用于将目标字符串中匹配正则表达式的第一个子串替换成新的字符串(即替换第一个满足条件的字符串),其语法形式如下:
字符串.replaceFirst(String regex, String replacement)

其中,regex 表示正则表达式,replacement 表示用于替换的字符串。
示例:

@Test
public void test03() {
	String str = "Hello World!";
	str = str.replaceFirst("o", "e");
	System.out.println(str);	// Helle World!
}
  1. replaceAll() 方法
    replaceAll() 方法用于将目标字符串中匹配某正则表达式的所有子字符串替换成新的字符串,其语法形式如下:
字符串.replaceAll(String regex, String replacement)

示例:

@Test
public void test04() {
	String str = "Hello World!";
	str = str.replaceAll("o", "e");
	System.out.println(str);	// Helle Werld!
}

虽然replace和replace都能够替换所有匹配到的字符串,但是replace支持字符及字符串的替换,而replaceAll只支持正则表达式替换(对于特殊字符,如:’$’, ‘(’, ‘)’, ‘*’, ‘+’, ‘.’, ‘[’, ‘]’, ‘?’, ‘\’, ‘^’, ‘{’, ‘}’, '|'等,需要转义后才能进行替换)。
示例:

	public void test05() {
		String str1="test/testDemo5/(20200120).txt";
        String str2="test/testDemo5/(20200120).txt";
        String str3="test.txt";
        String str4 = str1.replace(str2, str3);	// test.txt
		String str5 = str1.replaceAll(str2, str3);	// test/testDemo5/(20200120).txt
		String str6 = "test/testDemo5/\\(20200120\\).txt"; // 转义
		String str7 = str1.replaceAll(str6, str3);	// test.txt
	}

参考链接:
http://c.biancheng.net/view/836.html
https://www.cnblogs.com/xmqa/p/10275810.html

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦里逆天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值