关于“JAVA中截取字符串substring用法详解”这个话题,我可以提供以下攻略:
一、substring()函数基础用法
substring()
是JAVA中一个经常使用的字符串函数,用于截取给定字符串中的一部分。它的基本用法如下:
String str = "Hello, world!";
String result = str.substring(7, 12);
System.out.println(result);
该段代码输出的结果是 world
。其中 substring()
函数接受两个参数,分别是起始索引和结束索引(注意:开始索引从0开始计数)。所以上述代码 str.substring(7, 12)
表示从原字符串 str
的第8个字符(即索引值为7的字符)开始截取,一直截取到第12个字符(即索引值为11的字符)结束,因此输出的就是 world
。
当 substring()
函数只输入一个参数时,它将从该索引处开始截取到字符串的结尾,例如:
String str = "Hello, world!";
String result = str.substring(7);
System.out.println(result);
该段代码输出的结果是 world!
。因为 substring()
函数只输入了一个参数7,表示从索引值为7(即开头字符w)开始一直截取到字符串结尾。
需要注意的是,如果起始索引和结束索引写反了,或者存在负数索引等错误,substring()
函数将会抛出IndexOutOfBoundsException
异常。
二、substring()函数高级用法
除了 substring()
函数的基本用法外,它还有一些高级用法。比如,可以将以下代码用来截取字符串中的数字:
String text = "12345678";
String numbers = text.substring(text.indexOf("1"), text.indexOf("5"));
System.out.println(numbers); // 输出结果为 "234"
在这段代码中,使用 indexOf()
函数找到数字1和数字5在字符串中的位置,并将这两个位置作为截取索引传给 substring()
函数,从而实现只截取数字2、3、4三个数字的功能。
又比如,有时需要将一个字符串中的多组子串提取出来。可以使用 substring()
函数结合循环实现,示例如下:
String str = "sub111sub222sub333sub444";
for (int i = 0; i < str.length(); i++) {
if (str.substring(i).startsWith("sub")) {
int j = i + "sub".length();
while (!str.substring(j).startsWith("sub") && j < str.length()) {
j++;
}
System.out.println(str.substring(i, j));
i = j - 1;
}
}
在上述代码中,使用了一个for循环和while循环,不断截取从当前位置开始的子串,并判断是否以 sub
开头。如果是,就在循环中使用 substring()
函数和两个变量i、j截取从i到j的子串输出。
以上就是关于 substring()
函数的基础用法和高级用法介绍,希望能够帮助到你。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA中截取字符串substring用法详解 - Python技术站