Java函数如何获取指定字符串的子串?
发布时间:2023-06-09 03:54:53
Java 中获取指定字符串的子串有多种方法,下面我们就来详细讨论这些方法。
1. substring() 方法
这是 Java 中最常用的获取子串的方法,它的语法格式是:
public String substring(int beginIndex) public String substring(int beginIndex, int endIndex)
其中 beginIndex 表示子串的起始位置,而 endIndex 表示子串的结束位置,但不包括该位置的字符。如果只提供一个参数,那么会从该参数指定的位置开始一直到字符串的末尾。如果不提供任何参数,则会返回原字符串的一个副本。示例如下:
String str = "Hello, World!"; String substr1 = str.substring(7); // "World!" String substr2 = str.substring(7, 13); // "World"
2. split() 方法
split() 方法可以将字符串按照指定的分隔符进行拆分,拆分的结果是一个字符串数组,我们可以通过数组下标来获取子串。示例如下:
String str = "Hello, World!";
String[] tokens = str.split(", ");
String substr = tokens[1]; // "World!"
3. charAt() 方法
charAt() 方法可以返回指定位置的字符,我们可以通过循环获取一段子串。示例如下:
String str = "Hello, World!";
StringBuilder sb = new StringBuilder();
for (int i = 7; i < str.length(); i++) {
sb.append(str.charAt(i));
}
String substr = sb.toString(); // "World!"
4. getChars() 方法
getChars() 方法可以将一个字符串中的一部分拷贝到一个字符数组中,我们需要指定子串的起始位置和结束位置。示例如下:
String str = "Hello, World!"; char[] buffer = new char[6]; str.getChars(7, 13, buffer, 0); String substr = new String(buffer); // "World!"
5. copyValueOf() 方法
copyValueOf() 方法可以将一个字符数组中的一部分拷贝到一个新的字符串中,我们需要指定字符数组、起始位置和长度。示例如下:
String str = "Hello, World!"; char[] buffer = new char[6]; str.getChars(7, 13, buffer, 0); String substr = String.copyValueOf(buffer); // "World!"
总的来说,Java 中获取子串的方法很多,我们可以根据实际需要选择最适合的方法。需要注意的是,在处理较长的字符串时应该尽量避免使用字符拼接,因为这样会产生大量的临时对象,导致性能下降。建议使用 StringBuilder 或 StringBuffer 来进行字符串拼接。
