Java中截取字符串的10种方法与性能对比
行业新闻 2026-05-11 21:40 46



活动:桔子数据-爆款香港服务器,CTG+CN2高速带宽、快速稳定、平均延迟10+ms 速度快,免备案,每月仅需19元!! 点击查看

Java中截取字符串的10种方法与性能对比

在Java中,字符串的截取是一项非常常见的操作,通常用于提取子字符串、格式化输出等场景。本篇文章将介绍Java中截取字符串的10种方法,并对它们的性能进行对比,以帮助开发者根据实际需求选择最合适的字符串截取方法。

1. 使用substring()方法

substring()是最常用的字符串截取方法,它可以截取字符串中的指定部分。该方法有两种形式:substring(int beginIndex)substring(int beginIndex, int endIndex)

示例代码

String str = "Hello World";
String sub1 = str.substring(0, 5); // 返回 "Hello"
String sub2 = str.substring(6); // 返回 "World"

2. 使用String.valueOf().substring()方法

当你需要从非String类型的变量中截取字符串时,可以先将该变量转换成String类型,再使用substring()方法。例如:

示例代码

Integer num = 12345;
String str = String.valueOf(num).substring(0, 3); // 返回 "123"

3. 使用String.split()方法

split()方法可以根据给定的正则表达式将字符串分割成子字符串,然后将结果作为字符串数组返回。虽然它主要用于分割字符串,但也可以用于截取特定模式的子字符串。

示例代码

String str = "Hello-World-Java";
String[] parts = str.split("-"); // 返回 {"Hello", "World", "Java"}
String sub = parts[1]; // 返回 "World"

4. 使用String.replaceFirst()方法

replaceFirst()方法用于替换第一个匹配正则表达式的子串。当需要截取符合特定模式的子字符串时,可以使用此方法。

示例代码

String str = "Hello World Java";
String sub = str.replaceFirst("^\\S+\\s+", ""); // 返回 "Java"(假设目标字符串以空格分隔)

5. 使用String.charAt()StringBuilder(或StringBuffer)的append()方法组合使用

当需要逐字符地处理字符串时,可以结合使用charAt()StringBuilder(或StringBuffer)的append()方法。这种方法在处理大量字符时特别有用。

示例代码

String str = "Hello World";
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
    if (i == 6) break; // 从第7个字符开始不添加到StringBuilder中,从而截取前6个字符的子串"Hello "
    sb.append(str.charAt(i));
}
String sub = sb.toString(); // 返回 "Hello "

标签:

  • 1.字符串截取 2.substring()方法 3.String.valueOf() 4.String.split()方法 5.charAt()和StringBuilder/StringBuffer