Java StringBuffer substring()方法及示例

Java StringBuffer substring()方法及示例

在StringBuffer类中,根据传递给它的参数,有两种类型的substring方法。

substring(int start)

StringBuffer类substring(int start) 方法是一个内置的方法,用于返回一个从索引开始的子串,并延伸到这个序列的结尾。该方法返回的字符串包含了从索引开始到旧序列结束的所有字符。

语法

public String substring(int start)

参数: 本方法只接受一个参数 start ,它是一个整数类型的值,指的是子串的起始索引。

返回值: 本方法返回 子串 在旧序列的开始到结束的范围内。

异常: 如果start小于0,或者大于这个对象的长度,这个方法会抛出 StringIndexOutOfBoundsException

下面的程序说明了StringBuffer substring()方法。

例1 :

// Java program to demonstrate
// the substring() Method.
  
class GFG {
    public static void main(String[] args)
    {
  
        // create a StringBuffer object
        // with a String pass as parameter
        StringBuffer str
            = new StringBuffer("GeeksForGeeks");
  
        // print string
        System.out.println("String contains = "
                           + str);
  
        // get substring start from index 5
        // using substring() and print results
        System.out.println("SubSequence = "
                           + str.substring(5));
    }
}

输出:

String contains = GeeksForGeeks
SubSequence = ForGeeks

例2: 演示StringIndexOutOfBoundsException

// Java program to demonstrate
// Exception thrown by the substring() Method.
  
class GFG {
    public static void main(String[] args)
    {
  
        // create a StringBuffer object
        // with a String pass as parameter
        StringBuffer str
            = new StringBuffer("Indian Team Played Well");
  
        try {
            // get substring starts from index -7
            // using substring() and print
            str.substring(-7);
        }
  
        catch (Exception e) {
            System.out.println("Exception: " + e);
        }
    }
}

输出:

Exception: java.lang.StringIndexOutOfBoundsException: String index out of range: -7

substring(int start, int end)

StringBuffer类的 substring(int start, int end) 方法是一个内置的方法,用来返回一个从索引开始的子串,并延伸到这个序列的索引端1。这个方法返回的字符串包含了从索引开始到索引结束-1的所有字符。

语法

public String substring(int start)

参数: 本方法接受两个参数 start ,它是Integer类型的值,指的是子串的起始索引, end 也是Integer类型的值,指的是子串的结束索引。

返回值: 本方法返回位于老序列的索引开始到索引结束的 子串

异常: 如果start或end为负数或大于length(),或者start大于end,该方法会抛出 StringIndexOutOfBoundsException

下面的程序说明了StringBuffer.substring()方法。

例1 :

// Java program to demonstrate
// the substring() Method.
  
class GFG {
    public static void main(String[] args)
    {
  
        // create a StringBuffer object
        // with a String pass as parameter
        StringBuffer str
            = new StringBuffer("GeeksForGeeks");
  
        // print string
        System.out.println("String contains = " + str);
  
        // get substring start from index 5 to index 8
        // using substring() and print results
        System.out.println("SubSequence = "
                           + str.substring(5, 8));
    }
}

输出:

String contains = GeeksForGeeks
SubSequence = For

例2: 演示StringIndexOutOfBoundsException

// Java program to demonstrate
// Exception thrown by the substring() Method.
  
class GFG {
    public static void main(String[] args)
    {
  
        // create a StringBuffer object
        // with a String pass as parameter
        StringBuffer str
            = new StringBuffer("Indian Team Played Well");
  
        try {
            // get substring starts from index 7
            // and end at index 3
            // using substring() and print
            str.substring(9, 3);
        }
  
        catch (Exception e) {
  
            System.out.println("Exception: " + e);
        }
    }
}

输出:

Exception: java.lang.StringIndexOutOfBoundsException: String index out of range: -6

参考资料:

  • https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuffer.html#substring(int, int)
  • https://docs.oracle.com/javase/10/docs/api/java/lang/StringBuffer.html#substring(int)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程