Java String – substring()方法

时间:2020-01-09 10:34:54  来源:igfitidea点击:

如果必须获取原始String的一部分,即Java中的substring,则可以使用Java String类的substring()方法。

Java substring()方法

substring()方法有两种变体

  • 字符串substring(int beginIndex)–返回此字符串的子字符串,其中子字符串以beginIndex处的字符开始,一直到该字符串的结尾。如果beginIndex为负或者大于此String对象的长度,则方法抛出IndexOutOfBoundsException。
  • 字符串substring(int beginIndex,int endIndex)–返回一个字符串,该字符串是该字符串的子字符串。子字符串从指定的beginIndex开始,在索引endIndex – 1处结束。如果beginIndex为负,或者endIndex大于此String对象的长度,或者beginIndex大于endIndex,则抛出IndexOutOfBoundsException。对于substring()方法的这种变体,请记住-beginIndex –起始索引(包括首尾)。
  • endIndex –结束索引(不包括)。

Java substring()方法示例

1.使用substring(int beginIndex)方法从指定的索引获取子字符串。

public class SubStringExp {
  public static void main(String[] args) {
    String str = "This is a test String";
    String substr = str.substring(10);
    System.out.println("Substring is- " + substr);
  }
}

输出:

Substring is- test String

在这里,子字符串的提取从原始字符串的索引10开始,一直延伸到字符串的结尾。

2使用substring(int beginIndex,int endIndex)方法获取给定索引范围内的子字符串。

public class SubStringExp {
  public static void main(String[] args) {
    String str = "This is a test String";
    String substr = str.substring(10, 14);
    System.out.println("Substring is- " + substr);
  }
}

输出:

Substring is- test

在substring方法中,begin索引将作为10传递,因此提取将从该索引开始。结束索引为14,因此提取在索引endIndex -1 = 13处结束。

3将子字符串方法与其他String类方法一起使用。

我们可以将substring方法与其他String类方法一起使用,在这些其他String类方法中,可以使用这些方法计算开始和结束索引。例如,日期格式为dd-mm-yyyy,并且希望年份部分,则可以使用lastIndexOf()方法获取substring()方法的起始索引,以获取所需的子字符串。

public class SubStringExp {
  public static void main(String[] args) {
    String str = "11-07-2019";
    String substr = str.substring(str.lastIndexOf('-') + 1);
    System.out.println("Substring is- " + substr);
  }
}

输出:

Substring is- 2019

如果要获取月份部分,则可以同时使用indexOf()和lastIndexOf()方法来分别获取开始索引和结束索引。

public class SubStringExp {
  public static void main(String[] args) {
    String str = "11-07-2019";
    String substr = str.substring(str.indexOf('-')+1, str.lastIndexOf('-'));
    System.out.println("Substring is- " + substr);
  }
}

输出:

Substring is- 07