substring();
概述:
substring()返回字符串两个索引之间的值(或到字符串末尾)的字串;
语法:
str.substring(indexA, indexB)
参数:
indexA、indexB都是一个0到字符串长度之间的整数;
描述:
substring
提取从 indexA
到 indexB
(不包括)之间的字符。特别地:
- 如果
indexA
等于indexB
,substring
返回一个空字符串。 - 如果省略
indexB
,substring
提取字符一直到字符串末尾。 - 如果任一参数小于 0 或为
NaN
,则被当作 0。 - 如果任一参数大于
stringName.length
,则被当作stringName.length
。
如果 indexA
大于 indexB
,则 substring
的执行效果就像两个参数调换了一样。例如,str.substring(1, 0) == str.substring(0, 1)
。
示例
例子:使用 substring
下例使用 substring
输出字符串 "Mozilla
" 中的字符:
// 假设 print 函数已被定义var anyString = "Mozilla";// 输出 "Moz"console.log(anyString.substring(0,3));//从0到3位置构成的字符串,但是3位置不包含;console.log(anyString.substring(3,0));//如果indexA>indexB,indexA和indexB交换// 输出 "Mozill"console.log(anyString.substring(0,6));console.log(anyString.substring(0));//从0到最后位置全部截取;// 输出 "Mozilla"console.log(anyString.substring(0,7));console.log(anyString.substring(0,10)); console.log(anyString.substring());//没有参数就全部返回
slice();
概述
slice()
方法提取字符串中的一部分,并返回这个新的字符串。
语法
string.slice(i, j)
参数
i
从该索引(以 0 为基数)处开始提取原字符串中的字符。如果该参数为负数,则它表示从原字符串中的倒数第几个字符开始抽取,
slice(-2)
表示抽取了原字符串中的倒数第二个字符到最后一个字符(包含最后一个字符)
j
在该索引(以 0 为基数)处结束提取字符串。如果省略该参数,slice
会一直提取到字符串末尾。如果该参数为负数,则它表示在原字符串中的倒数第几个字符结束抽取.。slice(-2, -1) 表示抽取了原字符串中的倒数第二个字符到最后一个字符(不包含最后一个字符,也就是只有倒数第二个字符)。
描述
slice
不修改原字符串,只会返回一个包含了原字符串中部分字符的新字符串。
slice(1,4)
提取了原字符串中的第二个字符开始直到第四个字符的所有字符 (索引为 1, 2, 3的字符)。
str.slice(2, -1)
提取第三个字符到倒数第二个字符。
例子
例子: 使用 slice
创建一个新的字符串
// 假定存在一个 print 函数var str1 = "The morning is upon us.";var str2 = str1.slice(4, -2);print(str2);//morning is upon u 下面的这几点和substring相同: var bb="abc"; bb.slice(1);//bc 从1位置开始到末尾全部获取 bb.slice(0,1);//a 从0为位置开始到1位置(1位置包含) bb.slice();//abc 没有参数则全部返回
两者之间的区别:
1、substring中的参数可以互换,而slice中却不可以,会自动认为字符串不存在;
var aa="hello world";aa.substring(11,6);//worldaa.slice(11,6);//""
2、substring中的参数不能为负值,而slice中的两个参数都可以为负值;
var aa="hello world";aa.substring(5,-1);//"hello"这里的参数不能为负数,若为其中一个负数会自动转换为0,相当于aa.substring(5,0);然后参数又可以交换,最终变为aa.substring(0,5); aa.substring(-1);//"hello world"相当于aa.substring(0);
aa.slice(5,-1);//" worl" aa.slice(0,-1);//"hello worl" aa.slice(-5,-1);//"worl"
aa.slice(-6,0);//""