java如何截取字符串
截取字符串的方法
在Java中,截取字符串可以通过多种方式实现,以下是几种常用的方法:
使用substring方法
substring是String类提供的方法,用于截取字符串的一部分。它有两个重载版本:
substring(int beginIndex):从指定的beginIndex开始截取到字符串末尾。substring(int beginIndex, int endIndex):从beginIndex开始截取到endIndex(不包括endIndex)。
String str = "Hello, World!";
String sub1 = str.substring(7); // 结果为 "World!"
String sub2 = str.substring(0, 5); // 结果为 "Hello"
使用split方法
split方法可以根据指定的正则表达式分割字符串,返回一个字符串数组。通过索引可以获取需要的部分。
String str = "apple,banana,orange";
String[] parts = str.split(",");
String firstPart = parts[0]; // 结果为 "apple"
使用StringTokenizer类
StringTokenizer是一个用于分割字符串的类,可以指定分隔符进行分割。
String str = "one,two,three";
StringTokenizer tokenizer = new StringTokenizer(str, ",");
while (tokenizer.hasMoreTokens()) {
System.out.println(tokenizer.nextToken());
}
使用正则表达式
通过正则表达式可以灵活地匹配和截取字符串中的特定部分。
String str = "123-456-7890";
Pattern pattern = Pattern.compile("(\\d{3})-(\\d{3})-(\\d{4})");
Matcher matcher = pattern.matcher(str);
if (matcher.find()) {
String part1 = matcher.group(1); // 结果为 "123"
String part2 = matcher.group(2); // 结果为 "456"
}
使用StringUtils类(Apache Commons Lang)
如果项目中引入了Apache Commons Lang库,可以使用StringUtils类提供的工具方法截取字符串。
String str = "Hello, World!";
String sub = StringUtils.substring(str, 7); // 结果为 "World!"
String subBetween = StringUtils.substringBetween(str, "Hello, ", "!"); // 结果为 "World"
注意事项
- 使用
substring时需注意索引越界问题,beginIndex和endIndex必须在有效范围内。 split方法使用正则表达式作为分隔符,特殊字符需转义。StringTokenizer是遗留类,新代码推荐使用split或正则表达式。- 使用第三方库如Apache Commons Lang可以简化操作,但需确保项目中已引入相关依赖。







