Java中的substring()函数是什么?如何使用它从一个字符串中截取子串?
substring()函数是Java语言中的String类的一个函数,用于从一个字符串中截取子串。该函数有两种重载形式:substring(int beginIndex)和substring(int beginIndex, int endIndex)。
首先,substring(int beginIndex)函数接受一个参数beginIndex,表示要截取子串的起始位置(包括该位置的字符)。该函数会返回从指定位置到字符串末尾的所有字符组成的子串。例如:
String str = "Hello World"; String sub = str.substring(6); // sub的值为"World"
上述代码中,str.substring(6)会返回从索引位置6开始(包括索引位置6的字符)到字符串末尾的子串。
其次,substring(int beginIndex, int endIndex)函数接受两个参数beginIndex和endIndex,分别表示要截取子串的起始位置(包括该位置的字符)和结束位置(不包括该位置的字符)。该函数会返回从指定起始位置到结束位置前一位的所有字符组成的子串。例如:
String str = "Hello World"; String sub = str.substring(0, 5); // sub的值为"Hello"
上述代码中,str.substring(0, 5)会返回从索引位置0开始(包括索引位置0的字符)到索引位置5前一位(不包括索引位置5的字符)的子串。
需要注意的是,substring()函数返回的是新的字符串对象,原字符串对象不会被修改。如果指定的起始位置或结束位置超出了字符串的长度,将会抛出IndexOutOfBoundsException异常。
除了使用索引位置作为参数,substring()函数还可以接受负数作为参数。负数表示从字符串末尾开始的位置。例如:
String str = "Hello World"; String sub = str.substring(6, 11); // sub的值为"World"
上述代码等同于 个例子中的示例,因为索引位置6和索引位置11分别等价于索引位置0和索引位置5。如果要从末尾开始往前截取子串,也可以使用负数索引位置。例如:
String str = "Hello World"; String sub = str.substring(-5); // sub的值为"World"
上述代码会返回从索引位置5(从字符串末尾开始数第5个字符)到字符串末尾的子串。
综上所述,substring()函数是用于从一个字符串中截取子串的函数,通过指定起始位置和结束位置来确定要截取的子串范围。
