在 Java 中替换字符串指定索引处的字符

Rupam Yadav 2023年10月12日
  1. 在 Java 中使用 substring() 替换字符串索引处的字符
  2. 在 Java 中使用 StringBuilder() 替换字符串指定索引处的字符
  3. 在 Java 中将字符串转换为字符数组以替换字符串指定索引处的字符
在 Java 中替换字符串指定索引处的字符

本文将介绍在 Java 中,我们如何替换字符串中特定索引的字符。我们可以使用不同的方法来实现我们的目标,在下面的例子中提到。

在 Java 中使用 substring() 替换字符串索引处的字符

在我们的第一个例子中,我们有一个字符串-ab,其中有一个字符 A,这是一个大写字母,不符合句子的要求,我们想用一个小写字符 a 来替换它。

为了替换它,我们使用 String 类的 substring() 函数,它以一个范围或字符串的起始索引作为参数。我们的目标字符位于索引 8 的位置。

ab.substring(0, index) 返回字符串从 0 到第 8 位的部分。我们将这部分字符串与我们的新字符 a 连接起来,并使用 ab.substring(index + 1) 连接剩余的字符串。

public class ReplaceCharAtIndex {
  public static void main(String[] args) {
    String ab = "This is A String";
    int index = 8;

    String newString = ab.substring(0, index) + 'a' + ab.substring(index + 1);

    System.out.println(newString);
  }
}

输出:

This is a String

在 Java 中使用 StringBuilder() 替换字符串指定索引处的字符

我们有与前一个例子中使用的相同的字符串,但将使用 StringBuilder() 来创建一个新的可修改的字符串,因为在 Java 中,一个普通的字符串是不可改变的。由于 newString 现在是可修改的,我们可以使用它的 setChartAt() 方法将一个新的 char 设置为一个位置或索引。

newString.setCharAt(8, 'a') 将字符 a 设置在第 8 位。

public class ReplaceCharAtIndex {
  public static void main(String[] args) {
    String ab = "This is A String";

    StringBuilder newString = new StringBuilder(ab);

    newString.setCharAt(8, 'a');

    System.out.println(newString);
  }
}

输出:

This is a String

在 Java 中将字符串转换为字符数组以替换字符串指定索引处的字符

最后一个方法是使用 toCharArray() 将字符串 oldString 转换为 char 的数组。我们可以通过指定其位置来替换数组中的任何值。

我们可以看到,在 oldString 中有一个错别字,我们需要用字符( n )替换字符( m )。我们可以使用 charArray[index] = 'n'来替换我们在索引处的字符。

最后,我们必须使用 String.valueOf()char[] 转换为字符串。输出显示该字符已被替换。

public class ReplaceCharAtIndex {
  public static void main(String[] args) {
    String oldString = "This is an example strimg";
    int index = 23;

    char[] charArray = oldString.toCharArray();
    charArray[index] = 'n';

    String newString = String.valueOf(charArray);

    System.out.println(newString);
  }
}

输出:

This is an example string
作者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

相关文章 - Java Char

相关文章 - Java String