欢迎访问宙启技术站
智能推送

Java中的字符串方法:substring()

发布时间:2023-06-26 21:45:14

Java的substring()方法是Java字符串类中最常用的方法之一。这个方法可以从给定字符串中选择一部分,并返回一个新的字符串对象。刚开始使用Java的开发者需要特别注意这个方法返回的新字符串对象,并不是输入字符串的引用,因此不会对原始字符串对象产生任何改变。

该方法的格式是:

String substring(int beginIndex)

String substring(int beginIndex, int endIndex)

第一个版本的方法根据指定的开始位置返回给定字符串的子字符串。而第二个版本的方法则返回的是给定字符串在[beginIndex, endIndex)区间内的子字符串。

下面我们来介绍一下这两个版本方法的用法。

### 子字符串的获取

这个版本的substring()方法只需要一个参数,即该子字符串的开始索引位置。位置从0开始计数。下面是使用substring方法来创建一个子字符串的演示程序。

public class SubstringExample1 {
    public static void main(String[] args) {
        String str= "Hello World";
        String substr= str.substring(6);

        System.out.println("The substring is: "+ substr);
    }
}

上面的代码输出是:

> The substring is: World

从上述代码可以看出,我们传递的参数是6,并且从字符串的第6个字符开始,输出其后面所有的字符。但是如果我们快速浏览一下String类的API文档,我们会发现substring()方法的第二个版本可以更方便地选择想要的子字符串。

### 区间字符串的获取

当使用区间截取字符串时,我们将会使用第二个版本的substring()方法。下面的代码演示了如何使用这个方法来实现。

public class SubstringExample2 {
    public static void main(String[] args) {
        String str= "Hello World";
        String substr= str.substring(0, 5);

        System.out.println("The substring is: " + substr);
    }
}

上面的例子输出是:

> The substring is: Hello

从上述代码可以看出我们调用的方法具有两个参数。第一个参数是子字符串的开始索引位置,它是必须的。而第二个参数则是子字符串的结尾索引位置。这个参数是可选的,如果没有传递,则默认使用输入字符串的长度作为结尾位置。

下面的例子演示了如何截取字符串中的所有字符:

public class SubstringWithoutParameters {
    public static void main(String[] args) {
        String str= "Hello World";
        String substr= str.substring();

        System.out.println("The substring is: " + substr);
    }
}

上面的代码将抛出一个字符串索引越界的异常,因为我们没有指定要截取的区间。当使用substring()方法时,同时指定起始位置和结束位置是很重要的。

### 总结

终于到了我们程序设计实践中最常见的知识点——字符串。本文介绍了Java中的substring()方法。使用此方法时,出现索引越界的情况是很常见的。因此,开发人员需要小心并总是检查方法中变量的值。另外,我们还介绍了substring有两个版本的方法,分别用于获取指定位置的子字符串和区间字符串。在使用这两个方法时,需要小心计算参数。但是当我们充分掌握substring()方法的使用时,它会给程序开发带来极大的方便。