Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

Java FAQ

java string替换指定位置字符串


在 Java 中,String 是不可变的,这意味着一旦创建了一个 String 对象,就无法直接在原始对象上进行修改。因此,要替换 String 中特定位置的字符,你需要创建一个新的 String 对象。下面我将介绍几种实现方式,每种方式都附带示例代码和可能的第三方库依赖。

假设我们要将字符串中指定位置的字符替换为新字符。

示例字符串: "Hello, world!" 要替换位置:7(索引从 0 开始) 新字符: 'G'

方法一:使用 StringBuilder

public class StringReplaceExample {
    public static void main(String[] args) {
        String originalString = "Hello, world!";
        int indexToReplace = 7;
        char newChar = 'G';

        StringBuilder stringBuilder = new StringBuilder(originalString);
        stringBuilder.setCharAt(indexToReplace, newChar);
        String modifiedString = stringBuilder.toString();

        System.out.println(modifiedString);  // Output: "Hello, Gorld!"
    }
}

方法二:使用字符串拼接

public class StringReplaceExample {
    public static void main(String[] args) {
        String originalString = "Hello, world!";
        int indexToReplace = 7;
        char newChar = 'G';

        String modifiedString = originalString.substring(0, indexToReplace) +
                               newChar +
                               originalString.substring(indexToReplace + 1);

        System.out.println(modifiedString);  // Output: "Hello, Gorld!"
    }
}

方法三:使用正则表达式替换

public class StringReplaceExample {
    public static void main(String[] args) {
        String originalString = "Hello, world!";
        int indexToReplace = 7;
        char newChar = 'G';

        String modifiedString = originalString.replaceAll("(.{" + indexToReplace + "}).", "$1" + newChar);

        System.out.println(modifiedString);  // Output: "Hello, Gorld!"
    }
}

方法四:使用 StringUtils(Apache Commons Lang 库)

如果你想要使用第三方库,例如 Apache Commons Lang,来简化操作,可以使用 StringUtils 类。

Maven 依赖:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version> <!-- 使用最新版本 -->
</dependency>

Gradle 依赖:

implementation 'org.apache.commons:commons-lang3:3.12.0' // 使用最新版本

代码示例:

import org.apache.commons.lang3.StringUtils;

public class StringReplaceExample {
    public static void main(String[] args) {
        String originalString = "Hello, world!";
        int indexToReplace = 7;
        char newChar = 'G';

        String modifiedString = StringUtils.overlay(originalString, String.valueOf(newChar), indexToReplace, indexToReplace + 1);

        System.out.println(modifiedString);  // Output: "Hello, Gorld!"
    }
}

这些都是在 Java 中替换特定位置字符串的几种方法。你可以根据需要选择其中之一,并根据示例代码进行实现。如果要使用第三方库,例如 Apache Commons Lang,也可以根据提供的依赖坐标进行集成。

我将为你介绍以下几种常见的实现方式,包括使用String方法、正则表达式以及第三方库ApacheCommonsLang。###使用Strin ...
Java 没有内置的字符串类型,而是在标准 Java 类库中提供了一个预定义类,很自然地叫做 String。每个用双引号括起来的字符串都是 ...
在Python中替换列表中的字符有多种方式,以下是其中一些常用的方法,每种方法都会详细介绍其步骤流程、示例代码以及对比优缺点。###方法1: ...
下面我将介绍三种不同的实现方式,包括使用Java内置的正则表达式库、使用ApacheCommonsLang库以及使用第三方的正则表达式库,例 ...
在Java中,将字符串转换为日期的过程涉及到日期字符串的解析和日期对象的构建。示例代码:###方式3:使用ApacheCommonsLang ...