除了两个初始字符外,如何选择原始字符串表示的子字符串?

时间:2015-06-24 09:38:32

标签: java string substring

我知道在Java中我可以从String对象中提取子字符串,例如:

String string= "Hello World";
String subString = string.substring(5);

在这个wat中, subString 变量只包含 Hello 字符串

我知道我也可以指定2个索引来选择子字符串,例如:

String subString = string.substring(6, 11);

这将选择世界字符串。

但是,如果给定一个字符串,我想要选择原始字符串表示的子字符串,除了两个初始字符,我该怎么办。

例如,我有:

String value = "12345"

我的子字符串必须 345

我该怎么做?

2 个答案:

答案 0 :(得分:7)

String subString = string.substring(5);没有按照您的想法行事。

实际上string.substring(2)返回一个字符串,其中包含除前两个字符之外的第一个字符串的所有字符。

当您想要从输入字符串的开头开始的子字符串时,您可以使用两个参数版本 - 例如string.substring(0,5)作为前5个字符。

答案 1 :(得分:1)

来自Java docs

  

返回一个新字符串,该字符串是此字符串的子字符串。子串   从指定索引处的字符开始并扩展到   这个字符串的结尾。

     

示例:

     

"不开心" .substring(2)返回"快乐"

     

" Harbison" .substring(3)返回" bison"

     

"空虚" .substring(9)返回"" (空字符串)

     

参数:beginIndex起始索引,包括。返回:   指定的子字符串。抛出:IndexOutOfBoundsException - 如果是beginIndex   是负数或大于此String对象的长度。

public static void main(String[] args) {
        String sb = "12345";
        String s = sb.substring(2);
        System.out.println(s);
    }

<强>输出

345