9.4 子串

方法 substring 返回一个新的字符串,其中包含已有字符串中从指定索引到末尾的字符。

  • fruit.substring(0) 返回 "banana"

  • fruit.substring(2) 返回 "nana"

  • fruit.substring(6) 返回 ""

第一个示例返回整个字符串的副本;第二个示例返回除前两个字符之外的所有其他字符;最后一个示例表明,如果实参为字符串的长度,则 substring 将返回一个空字符串。

为理解方法 substring 的工作原理,绘制类似于图 9-1 所示的示意图大有裨益。

{%}

图 9-1:包含 6 个字符的字符串状态图

与大多数的字符串方法一样,substring 也被重载;也就是说,substring 还有接受不同参数的其他版本。用两个实参调用 substring 时,这两个实参将分别视为起始索引和终止索引:

  • fruit.substring(0, 3) 返回 "ban"

  • fruit.substring(2, 5) 返回 "nan"

  • fruit.substring(6, 6) 返回 ""

注意,返回的字符串中不包含终止索引处的字符。substring 方法的这个版本简化了一些常见的操作。例如,要想从索引 i 处开始提取长度为 len 的子串,可编写代码 fruit.substring(i, i+len)