JS字符串截取(3种方法)

1. substring() 方法

substring() 的用法为:

str.substring( startIndex , endIndex )

substring() 用于提取并返回字符串索引值 startIndex 到 endIndex-1 之间的字符串。参数为负数时会看成 0。如果第一个参数为正数,第二个参数为负数,则两个参数会对调位置。如果 startIndex 比 endIndex 大,则在提取子串之前会先对调这两个参数。如果 startIndex 和 endIndex 相等,则返回空字符。如果只有一个 startIndex 参数,则返回字符串从 startIndex 位置开始到结尾之间所有字符串。

var oStr = "Hello,can I help you?";
alert(oStr.substring(6));//从第6个字符开始提取后面所有的字符,输出:can I help you?
alert(oStr.substring(6,9));//提取第6~8之间的字符,输出:can
alert(oStr.substring(9,6));//第二个参数大于第一个参数,截取字符串前先对调参数位置,输出:can
alert(oStr.substring(2,-3));//将负数和正数对调,且将负数看成0,输出:He
alert(oStr.substring(-2,-3));//两个参数都为负数,没有输出
alert(oStr.substring(-4));//将负数看成0,输出:Hello,can I help you?

2. substr() 方法

substr() 的用法为:

str.substr( startindex , length )

substr() 用于从 startIndex 位置开始向后面截取不超过 length 个字符。参数 startIndex 可以取正数或负数,为负数时,则该负数的绝对值表示字符串的倒数第几个字符,例如 -1 指最后一个字符,-2 指倒数第二个字符,以此类推。length 参数只能为非 0 正数,表示截取的字符个数,否则不能截取字符串;该参数可以省略,如果省略则表示从 startIndex 开始截取到字符串结尾的所有字符。

var str = "Hello,can I help you?";
alert(str.substr(-2,3));//从倒数第二个字符开始提取后面不超过3个字符的子串,输出:u?
alert(str.substr(1,3));//从第二个字符开始提取后面不超过3个字符的子串,输出:ell
alert(str.substr(1,-3));//length参数为负数,没有结果输出
alert(str.substr(6));//从第7个字符开始提取后面所有的字符,输出:can I help you?

3. slice() 方法

str.slice( startIndex , endIndex )

slice() 用于截取并返回字符串索引值 startIndex 到 endIndex-1 之间的字符串。该方法和 substring() 的用法很类似,参数的含义除了两个参数都可以为负数以及第一个参数必须大于第二个参数外,其他和 subst ring() 的完全一样,故在此不再赘述。

var str = "Hello,can I help you?";
alert(str.slice(6));//从第6个字符开始提取后面所有字符,输出:can I help you?
alert(str.slice(6,9));//提取从第6到第8个字符之间的所有字符,输出:can
alert(str.slice(9,6));第一个参数大于第二个参数,没有输出
alert(str.slice(2,-3));//从第三个字符开始提取到倒数第四个字符之间的所有字符,输出:llo,can I help y
alert(str.slice(-4));//从倒数第四个字符开始提取后面所有字符,输出:you?
alert(str.slice(-4,-1));//提取从倒数第四个字符开始到倒数第二个字符之间的所有字符,输出:you