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

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

Java `String.replace()`方法替换与目标子字符串匹配的该字符串的每个子字符串。 子字符串匹配过程从字符串的开头（索引 0）开始。

## 1\. `String.replace()`方法

`String.replace()`方法是 Java 中的重载方法。 它有两个变体。

1.  `public String replace(char oldChar, char newChar)` – 返回一个字符串，该字符串是用`newChar`替换此字符串中所有出现的`oldChar`的结果。
2.  `public String replace(CharSequence target, CharSequence replacement)` – 返回将此字符串中所有出现的`target`子字符串替换为`replacement`子字符串而产生的字符串。

## 2\. Java `String.replace(char oldChar, char newChar)`示例

Java 程序，用新字符替换所有出现的给定字符。 在给定的示例中，我将所有出现的字母“`o`”（小写）替换为字母“`O`”（大写）。

```java
public class StringExample 
{
    public static void main(String[] args) 
    {
        String originalString = "Hello world !!";

        String newString = originalString.replace('o', 'O');	//HellO wOrld !!

        System.out.println(originalString);
        System.out.println(newString);
    }
}

```

程序输出。

```java
Hello world !!
HellO wOrld !!

```

## 2\. Java `String.replace(CharSequence target, CharSequence replacement)`示例

Java 程序，用新的子字符串`replacement`替换所有出现的给定子字符串`'target'`。

在给定的示例中，我将所有出现的子字符串“`java`”替换为大写的“`JAVA`”字符串。

```java
public class StringExample 
{
    public static void main(String[] args) 
    {
        String originalString = "how to do in java - java tutotials";

        String newString = originalString.replace("java", "JAVA");

        System.out.println(originalString);
        System.out.println(newString);
    }
}

```

程序输出：

```java
how to do in java - java tutotials
how to do in JAVA - JAVA tutotials

```

> 请注意，不允许**正则表达式**作为方法参数。 如果要使用正则表达式，请使用 String `replaceAll()`方法。

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

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

```java
public class StringExample 
{
    public static void main(String[] args) 
    {
        String newString = "hello world".replace("world", null);

        //or

        //String newString = "hello world".replace(null, "world");
    }
}

```

程序输出：

```java
Exception in thread "main" java.lang.NullPointerException
	at java.lang.String.replace(String.java:2227)
	at com.StringExample.main(StringExample.java:7)

```

学习愉快！

参考文献：

[Java `String`方法和示例](https://howtodoinjava.com/java-string/)

[Java `String` Doc](https://docs.oracle.com/javase/10/docs/api/java/lang/String.html)