在Java编程中,字符串处理是一个常见的操作,我们需要从字符串中截取特定的一部分,以便进行后续的处理或操作,以下是一些常用的方法来从Java字符串中截取所需的部分。

使用substring()方法
substring()方法是Java中截取字符串最直接的方法,它允许你指定开始和结束的索引来截取子字符串。
1 基本用法
String originalString = "Hello, World!"; String substring = originalString.substring(7, 12); System.out.println(substring); // 输出: World
2 注意事项
- 索引是从0开始的。
- 结束索引是不包含的,所以如果你想包含最后一个字符,需要将结束索引加1。
- 如果开始索引大于结束索引,
substring()方法会抛出StringIndexOutOfBoundsException。
使用split()方法
split()方法用于根据给定的正则表达式将字符串分割成多个部分,并返回一个字符串数组,你可以从数组中获取你需要的部分。
1 基本用法
String originalString = "Java is a programming language.";
String[] parts = originalString.split(" ");
String secondPart = parts[1];
System.out.println(secondPart); // 输出: is
2 注意事项
split()方法返回的是字符串数组,你需要根据需要索引来获取特定的部分。- 如果不提供正则表达式,默认会按空白字符分割。
- 如果字符串不包含分隔符,
split()会返回包含整个字符串的数组。
使用StringBuffer或StringBuilder
在某些情况下,你可能需要修改原始字符串,这时候使用StringBuffer或StringBuilder类来截取字符串可能更合适。

1 基本用法
String originalString = "Java is a programming language."; StringBuilder sb = new StringBuilder(originalString); sb.delete(0, 6); String modifiedString = sb.toString(); System.out.println(modifiedString); // 输出: is a programming language.
2 注意事项
StringBuffer是线程安全的,而StringBuilder是非线程安全的。- 使用
delete()方法可以从字符串中删除部分内容。 - 在修改字符串时,使用
StringBuilder通常比使用String更高效。
使用正则表达式
如果你需要更复杂的字符串截取,可以使用正则表达式。
1 基本用法
String originalString = "The temperature is 25 degrees."; String pattern = "\\d+"; String temperature = originalString.replaceAll(pattern, ""); System.out.println(temperature); // 输出: The temperature is degrees.
2 注意事项
- 正则表达式可以非常强大,但也可能很复杂。
- 使用
replaceAll()方法可以替换掉所有匹配正则表达式的部分。 - 需要熟悉正则表达式的语法和模式。
使用Pattern和Matcher
对于更复杂的字符串处理,可以使用Pattern和Matcher类。
1 基本用法
String originalString = "The temperature is 25 degrees.";
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(originalString);
while (matcher.find()) {
System.out.println(matcher.group()); // 输出: 25
}
2 注意事项
Pattern和Matcher提供了一种灵活的方式来处理字符串。- 可以使用
find()方法来查找匹配的部分,并使用group()方法来获取匹配的字符串。
通过以上方法,你可以根据需要从Java字符串中截取特定的部分,每种方法都有其适用的场景,选择最适合你需求的方法可以提高代码的效率和可读性。




















