版权声明:博主原创/资料整理,转载请注明出处!!
使用substring(Int beginIndex, Int endIndex)方法来获取字符串中一个或多个子字符串
定义一个字符串 String string = “hello,world!”;
如果要截取string中子字符串"llo",这个子字符串的长度为3,所以这里的beginIndex=2(从0开始算,第一个“l”的位置就是2),endIndex=2+3;另一种理解方式是endIndex是取不到的,截取的最后位置是endIndex-1。
在这里博主推荐读者记忆第一种方式,个人觉得更容易记住并运用,当然记忆第二种方式也是可以的,因人而异。
因此:String substring1 = string.substring(2,5);// 输出结果:substring1=“llo”
同理,其他用法:
String substring2 = string.substring(0,1);// 输出结果:substring2=“h”
String substring3 = string.substring(0,2);// 输出结果:substring3=“he”
下面贴出substring用法的源码,大家可以看最后return的返回就很好理解博主写的第一种方式了。
public String substring(int beginIndex, int endIndex) {
if (beginIndex < 0) {
throw new StringIndexOutOfBoundsException(beginIndex);
}
if (endIndex > value.length) {
throw new StringIndexOutOfBoundsException(endIndex);
}
int subLen = endIndex - beginIndex;
if (subLen < 0) {
throw new StringIndexOutOfBoundsException(subLen);
}
return ((beginIndex == 0) && (endIndex == value.length)) ? this
: new String(value, beginIndex, subLen);
}