Java String replaceAll()方法

培训教学 潘老师 3周前 (09-07) 23 ℃ (0) 扫码查看

Java 中的 String.replaceAll(regex, replacement) 方法用于使用指定的正则表达式替换所有与之匹配的子字符串为替换字符串。

类似的方法 replace(substring, replacement) 用于匹配字面字符串,而 replaceAll() 用于匹配正则表达式。需要注意的是,普通字符串也被视为正则表达式模式,因此 replaceAll() 除了匹配正则表达式,也可以用于普通字符串。

1.String.replaceAll() API

replaceAll() 方法的语法如下:

String updatedString = thisString.replaceAll(regex, replacement);

这里是对这些参数的解释:

  • thisString:需要搜索并替换的原字符串。
  • regex:使用的模式(正则表达式)。
  • replacement:每个匹配的子字符串都将用这个子字符串替换。
  • updatedString:API 的结果,即修改后的字符串。

2.使用 String.replaceAll() 示例

以下的Java程序演示了如何使用 replaceAll() API。

2.1. 替换所有单词的出现

以下Java程序将所有出现的 “java” 替换为 “scala”。

String str = "how to do in java !! a java blog !!";
Assertions.assertEquals("how to do in scala !! a scala blog !!", str.replaceAll("java", "scala"));

2.2. 移除所有空白字符

以下的Java程序将字符串中所有空白字符的出现替换为空字符串。

String blog = "how to do in java";
Assertions.assertEquals("howtodoinjava", blog.replaceAll("\\s", ""));

3.PatternSyntaxException

需要注意的是,如果正则表达式的语法无效,replaceAll() 方法会抛出 PatternSyntaxException 异常。在给定的示例中,”[” 是一个无效的正则表达式,因此我们会在运行时抛出异常。

Assertions.assertThrows(PatternSyntaxException.class, () -> {
  blog.replaceAll("[", "");
});

 


版权声明:本站所有文章,如无特殊说明,均为本站原创。转载请务必注明文章来源,谢谢支持。
本文链接:https://www.panziye.com/teach/8874.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】