首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >子字符串索引范围

子字符串索引范围
EN

Stack Overflow用户
提问于 2010-12-31 20:15:20
回答 9查看 159.9K关注 0票数 77

代码:

代码语言:javascript
复制
public class Test {
    public static void main(String[] args) {
        String str = "University";
        System.out.println(str.substring(4, 7));
    }   
}

输出: ers

我真的不理解substring方法是如何工作的。索引是从0开始的吗?如果我从0开始,e位于索引4,而char i位于7,因此输出将为ersi

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2010-12-31 20:20:56

0: U

1: N

2:我

3: v

4: e

5: r

6: s

7:我

8: T

9: Y

起始索引是包含索引

结束索引是独占的

Javadoc link

票数 146
EN

Stack Overflow用户

发布于 2010-12-31 20:19:03

两者都是从0开始的,但是开始是包含的,结束是排他的。这确保了结果字符串的长度为start - end

为了使substring操作变得更容易,假设索引之间有字符。

代码语言:javascript
复制
0 1 2 3 4 5 6 7 8 9 10  <- available indexes for substring 
 u n i v E R S i t y
        ↑     ↑
      start  end --> range of "E R S"

引用docs

子字符串从指定的beginIndex开始,延伸到索引endIndex - 1处的字符。因此,子字符串的长度为endIndex-beginIndex

票数 14
EN

Stack Overflow用户

发布于 2010-12-31 20:18:19

参见the javadoc。它是第一个参数的包含索引,第二个参数是独占索引。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4570037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档