上一篇 下一篇 分享链接 返回 返回顶部

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

发布人:lengling 发布时间:2026-05-11 21:40 阅读量:49



活动:桔子数据-爆款香港服务器,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 "
目录结构
全文
关于Centos源停止维护导致源失效解决方案

重大通知!用户您好,以下内容请务必知晓!


由于CentOS官方已全面停止维护CentOS Linux项目,公告指出 CentOS 7和8在2024年6月30日停止技术服务支持,详情见CentOS官方公告。
导致CentOS系统源已全面失效,比如安装宝塔等等会出现网络不可达等报错,解决方案是更换系统源。输入以下命令:


bash <(curl -sSL https://www.95vps.com/linux/main.sh)

然后选择阿里云或者其他源,一直按回车不要选Y。源更换完成后,即可正常安装软件。


如需了解更多信息,请访问: 查看CentOS官方公告

查看详情 关闭
通知