文
章
目
录
章
目
录
Java 中的 String.replaceFirst() 方法用于将第一个与给定参数子字符串(或正则表达式)匹配的子字符串替换为指定的替换子字符串。子字符串匹配过程从字符串的开头(索引0)开始,一旦找到第一个匹配项,匹配就结束,否则匹配到字符串的末尾。
需要注意的是,不能将 null 作为方法参数传递,但可以传递一个空字符串。
1.String.replaceFirst() API
replaceFirst() 的语法如下。它搜索子字符串 regex 并用替换字符串进行替换。regex 可以是普通字符串,也可以是正则表达式。
String replaceFirst(String regex, String replacement);
2.String.replaceFirst() 示例
以下的Java程序将第一个出现的 “com” 替换为大写 “COM” 字符串。
String str = "panziye.com";
String newStr = str.replaceFirst("com", "COM");
System.out.println(newStr); //panziye.COM
我们也可以使用正则表达式如下所示:
// 第一个空格替换为-
String string = "www panziye com";
String updatedString = string.replaceFirst("\\s", "-");
System.out.println(updatedString); //www-panziye com
3.转义特殊字符
尽管我们可以将正则表达式作为子字符串模式传递以进行匹配,但原始字符串可能包含我们不希望在模式匹配中考虑的特殊字符。
在正则表达式中,有些字符具有特殊含义。这些元字符包括:
\ ^ $ . | ? * + {} [] ()
对于这样的元字符,使用双反斜杠(\\)来跳过该元字符。
String string = "www+panziye+com";
String updatedString = string.replaceFirst("\\+", "-");
System.out.println(updatedString); //www-panziye+com
4.”null” 不被允许作为方法的任何参数
如果传递了 null,该方法将抛出 NullPointerException(空指针异常)。因此,在使用 String.replaceFirst()
方法时,请确保不将 null 作为参数传递。
String updatedString = string.replaceFirst(null, "-");
运行程序直接报NullPointerException