# Java `String.substring()`方法示例

> 原文： [https://howtodoinjava.com/java/string/java-string-substring-example/](https://howtodoinjava.com/java/string/java-string-substring-example/)

Java [字符串](https://howtodoinjava.com/java-string/)`substring()`方法返回一个新字符串，该字符串是该字符串的子字符串。 `substring()`方法是重载方法，有两种变体：

1.  **`String substring(int beginIndex)`**
2.  **`String substring(int beginIndex, int endIndex)`**

其中**方法参数**为：

*   **`beginIndex`** – 起始索引，包括端点。
*   **`endIndex`** – 结束索引，不包括。

## 1\. Java `String.substring(int beginIndex)`示例

它返回一个字符串，该字符串是该字符串的子字符串。 子字符串从指定`'beginIndex'`处的字符开始，到字符串的末尾。

1.  请注意，索引从“0”开始，指的是字符串的第一个字符。
2.  如果参数索引不是有效索引，则方法将引发`StringIndexOutOfBoundsException`错误。 有效索引始终大于或等于零； 小于或等于字符串的长度。

> `0 >=`有效索引`<=`字符串的长度

Java 程序从给定索引获取字符串的子字符串。

```java
public class StringExample 
{
    public static void main(String[] args) 
    {
        String blogName = "howtodoinjava.com";

        System.out.println(blogName.substring(3));	//todoinjava.com

        System.out.println("hello world".substring(6));	//world
    }
}

```

程序输出。

```java
todoinjava.com
world

```

## 2\. Java `String.substring(int beginIndex, int endIndex)`示例

它返回一个字符串，该字符串是该字符串的子字符串。 子字符串从指定`'beginIndex'`（**包括**）的字符开始，到`'endIndex'`（**排除**）位置。

Java 程序，用于从给定的开始索引到结束索引获取字符串的子字符串。

```java
public class StringExample 
{
    public static void main(String[] args) 
    {
        String blogName = "howtodoinjava.com";

        System.out.println(blogName.substring(14, blogName.length()));	//com

        System.out.println("hello world".substring(6,9));	//wor

        System.out.println("0123456789".substring(3, 7));	//3456
    }
}

```

程序输出：

```java
com
wor
3456

```

在最后一条语句中，示例更有意义，因为每个字符都表示其在字符串中的索引位置。 第 0 个索引为“0”，第一个索引为“1”，依此类推，直到第 9 个位置为“9”。

当我们找到从索引 3 到索引 7 的子字符串时，我们得到字符串`3456`。 包括开始索引，排除了结束索引“7”。

学习愉快！

参考文献：

[Java `String`文档](https://docs.oracle.com/javase/10/docs/api/java/lang/String.html)