JavaScript String中slice,substring,substr的使用方法

文章目录

  • 一、slice
  • 二、substring
  • 三、substr


一、slice

slice方法会截取字符串的一部分,返回值是截取的字符串,并且不会改变原来的字符串

使用方法:string.slice(beginIndex, [endIndex])
beginIndex:截取字符串开始的索引(从0开始),如果为负数,则被当做string.length+beginIndex。返回的结果中包括该位置匹配的字符
endIndex:截取字符串结束的索引(从0开始)。如果省略,则会一直截取到字符串末尾。如果为负数,则被当做string.length+endIndex。返回的结果中不包括该位置匹配的字符
如果不传beginIndex和endIndex,则返回原来的字符串内容,相当于复制了一份原来的字符串
如果传入的beginIndex大于字符串的length则会返回一个空字符串
如果传入的endIndex小于或者等于beginIndex则会返回一个空字符串

const str = '0123456789';
str.slice()  //0123456789
str.slice(2)  //23456789
str.slice(2, 8)  //234567
str.slice(-2, 8)  // ''
str.slice(-8, -2)  //234567

二、substring

substring方法会截取字符串的一部分,返回截取的字符串,对原字符串不会改变

使用方法:string.substring(beginIndex, [endIndex])
beginIndex:截取的字符的开始位置,返回的结果中包括该字符
endIndex:截取的字符的结尾位置,返回的结果中不包括该字符
如果不传beginIndex和endIndex,则返回原来的字符串内容
如果省略endIndex,则返回从beginIndex到结尾的字符串
如果beginIndex和endIndex相等,则返回空字符串
如果参数小于0或为NaN,则被当做0
如果参数大于字符串的length,则被当做字符串的length
如果beginIndex大于endIndex,则相当于参数调换了顺序

const str = '0123456789';
str.substring()  //0123456789
str.substring(2)  //23456789
str.substring(2, 2)  // ''
str.substring(-2, 8)  //01234567
str.substring(2, 18)  //23456789
str.substring(8, 2)  //234567

三、substr

substr方法会截取从指定位置开始到指定字符数之间的字符串

使用方法:string.substr(beginIndex, [length])
beginIndex:开始截取字符串的位置,返回的结果中包括该字符
length:截取的长度
如果beginIndex为正值且大于或等于字符串的length,则返回一个空字符串
如果beginIndex为负值,则把它作为从末尾处开始的一个索引,即length+beginIndex
如果beginIndex为负数且绝对值大于length,则把它当做从0开始
如果length为0或一个负数,则返回一个空字符串。如果省略length,则截取字符串到末尾

const str = 'abcdefghij';
str.substr()  //abcdefghij
str.substr(2)  //cdefghij
str.substr(-2)  //ij
str.substr(2, 6)  //cdefgh
str.substr(2, 0)  // ''
str.substr(2, 16)  //cdefghij
str.substr(-2, 6)  //ij

你可能感兴趣的:(web前端,javascript)