# Java `String.replaceFirst()`方法示例

> 原文： [https://howtodoinjava.com/java/string/java-string-replacefirst-example/](https://howtodoinjava.com/java/string/java-string-replacefirst-example/)

`Java String replaceFirst()`方法用给定的替换子字符串替换找到的第一个子字符串`'regex'`，该子字符串与给定的参数子字符串（或正则表达式）匹配。 子字符串匹配过程从字符串的开头（索引 0）开始。

## 1\. `String.replaceFirst(String regex，String replacement)`方法

`String.replaceFirst()`方法使用正则表达式查找子字符串并将其替换为`replacement`子字符串参数。

```java
/**
* @param regex - the regular expression to which this string is to be matched
* @param replacement - the string to be substituted for the first match
*
* @return The resulting string after replacement is done
*/

public String replaceFirst(String regex, String replacement) {
    return Pattern.compile(regex).matcher(this).replaceFirst(replacement);
}

```

## 2\. Java `String.replaceFirst()`示例

Java 程序，用新的子字符串替换字符串中给定字符串或正则表达式的第一个匹配项。 在给定的示例中，我将大写的“`JAVA`”字符串替换为第一次出现的子字符串“`java`”。

```java
public class StringExample 
{
    public static void main(String[] args) 
    {
        String str = "Java says hello world. Java String tutorial";

        //Replace first occurrence of substring "Java" with "JAVA"
        String newStr = str.replaceFirst("Java", "JAVA");

        //Replace first occurrence of substring "a" with "A"
        String regexResult = str.replaceFirst("[a]", "A");

        System.out.println(newStr);
        System.out.println(regexResult);
    }
}

```

程序输出。

```java
JAVA says hello world. Java String tutorial
JAva says hello world. Java String tutorial

```

## 3\. 不允许为`null`

两个方法的参数均不允许使用`null`。 它将抛出`NullPointerException`。

```java
public class StringExample 
{
    public static void main(String[] args) 
    {
        String str = "Java says hello world. Java String tutorial";

        String newStr = str.replaceFirst("Java", null);

        System.out.println(newStr);
    }
}

```

程序输出：

```java
Exception in thread "main" java.lang.NullPointerException: replacement
	at java.util.regex.Matcher.replaceFirst(Matcher.java:999)
	at java.lang.String.replaceFirst(String.java:2165)
	at com.StringExample.main(StringExample.java:9)

```

在此示例中，我们学习了**替换 Java 中字符串**中首次出现的字符。

学习愉快！

参考文献：

[Java `String`方法和示例](https://howtodoinjava.com/java-string/)
[Java `String` Doc](https://docs.oracle.com/javase/10/docs/api/java/lang/String.html)