java如何截串
截取字符串的方法
在Java中,截取字符串可以通过多种方式实现,以下是几种常见的方法:
使用String类的substring方法
substring方法是Java中最常用的截取字符串的方式。它有两种重载形式:
substring(int beginIndex):从指定索引开始截取到字符串末尾。substring(int beginIndex, int endIndex):截取指定索引范围内的子串(包含beginIndex,不包含endIndex)。
示例代码:
String str = "Hello, World!";
String sub1 = str.substring(7); // 结果为 "World!"
String sub2 = str.substring(0, 5); // 结果为 "Hello"
使用StringUtils工具类
Apache Commons Lang库中的StringUtils类提供了更丰富的字符串操作功能,包括截取:
substring(String str, int start)substring(String str, int start, int end)
示例代码:
import org.apache.commons.lang3.StringUtils;
String str = "Hello, World!";
String sub = StringUtils.substring(str, 7, 12); // 结果为 "World"
使用正则表达式
通过正则表达式可以更灵活地截取符合特定模式的子串:
String str = "Hello123World456";
String[] parts = str.split("\\d+"); // 按数字分割
// parts[0] = "Hello", parts[1] = "World"
使用字符数组
将字符串转换为字符数组后手动截取:

String str = "Hello, World!";
char[] chars = str.toCharArray();
char[] subChars = new char[5];
System.arraycopy(chars, 0, subChars, 0, 5);
String sub = new String(subChars); // 结果为 "Hello"
注意事项
- 使用
substring方法时需注意索引越界问题,否则会抛出StringIndexOutOfBoundsException。 - 字符串索引从0开始计算。
- 需要处理中文字符时,建议考虑使用
String.codePoint相关方法,避免截取到半个汉字的情况。
性能考虑
- 对于大量字符串操作,直接使用
String类可能产生较多临时对象,此时可考虑使用StringBuilder。 - 如果需要频繁截取字符串,可以先将字符串转换为字符数组进行操作。






