问答详情
源自:7-10 提取字符串substring()

substring()方法包含头,不包含尾,但是如果省略尾参数,又包含了最后一个字符

substring()方法包含头,不包含尾,但是如果省略尾参数,又包含了最后一个字符,这是为啥呀?

比如字符串mystr=“hello world!”

mystr.substring(6) //显示world!

mystr.substring(6,11) //显示world

明明是11的长度呀



提问者:清烛歆歊 2016-07-04 10:04

个回答

  • 瓜呱呱
    2016-07-04 11:07:47
    已采纳

    首先返回的后一个参数stop,是返回到 stop-1 处的所有字符,如果没有参数就返回到对象结尾;如你举的例子,就是返回到mystr[6-10]的字符串。然后,你的字符长度是12,不是11,下标是从0 开始算起的。

  • 慕移动9181930
    2022-03-29 12:00:35

    看一下符号是不是英文半角符号,或者看一下有没有少加了分号之类的。代码这么写没问题,应该是一些细节问题。

    alscojmkjrwgzvphyycbzmqopkresuygvyniovbarriwpqjiuslujnhsqxuvvcfpwyobpnkigltrctbesvmogcieufxmlpncilbws

  • llo蛋蛋oll
    2016-07-04 15:55:45

    先使用.length查看字符串的长度

  • 岸边花开一朵朵
    2016-07-04 11:35:36

    字符串mystr=“hello world!”  空格也算一个字符。

  • 慕仰0119769
    2016-07-04 11:35:31

    返回的内容是从 start开始(包含start位置的字符)到 stop-1 处的所有字符,其长度为 stop 减start。

  • 浩然_
    2016-07-04 11:10:02

    11是不包含第11个字符  第6,7,8,9,10的字符

  • 加盐可乐
    2016-07-04 11:07:50

    substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。

    http://www.w3school.com.cn/jsref/jsref_substring.asp(w3c学院)

    “!”字符在第十一个字符位置,所以没有显示。