String类中的substring函数截取字符串?
Java中的String类提供了许多字符串操作方法,其中之一就是substring函数。该函数可以截取一个字符串的一部分,返回所截取的子字符串。substring函数很常用,经常用来提取字符串中重要的部分。本文将详细介绍Java中substring函数的使用。
substring函数的格式
substring函数有两种重载形式,其格式如下:
public String substring(int beginIndex)
public String substring(int beginIndex, int endIndex)
其中,第一种形式表示从字符串的某个指定位置开始,一直到该字符串的末尾处,截取并返回这个字符串的一部分。第二种形式表示从字符串的某个指定位置开始,一直截取到另一个指定位置之前的所有字符,并返回这个字符串的一部分。这两种形式都返回被截取的子字符串。
参数格式
在使用substring函数时,有些需要注意的问题。首先是参数格式。
在第一种形式中,参数beginIndex是一个整数值,它表示截取子字符串的起始位置。在Java中,字符串中所有字符的位置都是从0开始计数的。即第一个字符的位置是0,第二个字符的位置是1,以此类推。因此,参数beginIndex必须是一个非负整数。
在第二种形式中,参数beginIndex和参数endIndex都是整数值。参数beginIndex表示截取子字符串的起始位置,参数endIndex表示终止位置。但是,需要注意的是,这个截取操作不包括终止位置处的字符。也就是说,返回的子字符串包含的是从beginIndex位置开始到endIndex-1位置的所有字符。
如果beginIndex的值小于零,或者endIndex的值大于字符串的长度,则substr函数会抛出一个异常:IndexOutOfBoundsException。
substring函数的返回值
substring函数的返回值是一个新的字符串实例,其中包含了所有被截取下来的字符。如果传入的参数是空字符串,则返回一个空字符串。
如果传入的参数是null,则抛出一个NullPointerException异常。
例如,下面的代码演示了如何使用substring函数来截取字符串:
String s = "hello, world";
System.out.println(s.substring(7)); // "world"
System.out.println(s.substring(2, 6)); // "llo,"
在这个例子中,我们首先定义了一个字符串s,它包含了字符串“hello,world”。我们接着使用substring函数,将字符串截取为两个不同的子字符串。第一个子字符串包含该字符串中的每个字符,从位置7开始,一直到字符串的末尾处。第二个子字符串包含该字符串中的每个字符,从位置2开始,一直到位置6。由于它们都是String类型,因此最终结果将被打印出来,并生成一段文本“world”和“llo,”。
除了被截取的子字符串外,我们还可以将它们存储在变量中,以便以后使用:
String s = "hello, world";
String t = s.substring(7);
String u = s.substring(2, 6);
System.out.println(t); // "world"
System.out.println(u); // "llo,"
在这个例子中,我们将生成的子字符串存储在t和u变量中,然后再次打印它们。
