字符串常用方法第二弹
在上一篇文章我们讲到了字符串的常用方法,这篇文章我们继续讲解字符串的常用方法。
这里我们将会讲解字符串获取指定位置以及字符串截取的方法。
同样由于字符串的不可改变性,所以这些方法都是返回一个新的字符串,并不会改变原来的字符串。
字符串获取指定位置的方法
charAt(index)
charAt
方法用于返回指定位置的字符,如果位置超出字符串长度则返回空字符串。
value= str.charAt(index); 复制代码
方法里面的那个参数就是我们获取的位置,比如我们想获取字符串的第一个字符,那么我们就可以这样写
var str = "hello world"; var value = str.charAt(0); console.log(value); // h 复制代码
其实这个方法和str[index]
最终实现的效果是一样的。
如果我们传入的参数不在字符串的范围内[0,str.length),那么就会返回空字符串。
var str = "hello world"; var value = str.charAt(100); console.log(value); // "" 复制代码
str.[index]
value = str[index]; 复制代码
这个方法的使用和str.charAt(index)
是一样的,在这里我们就不过多讲述。
charCodeAt(index)
charCodeAt
方法用于返回指定位置的字符的 Unicode 编码,如果位置超出字符串长度则返回 NaN。
value = str.charCodeAt(index); 复制代码
通过这个方法,我们可以获取到字符串中某个位置的字符的 Unicode 编码。
var str = "hello world"; var value = str.charCodeAt(0); console.log(value); // 104 复制代码
字符串截取
slice(start, end)
在有关字符串截取的方法中,slice
方法是最常用的方法,它的作用是返回一个新的字符串,包含从 start 到 end(不包括该元素)的字符串。[start, end)
value = str.slice(start, end); 复制代码
此方法从字符串中截取指定位置的内容。传入参数分为一下几种情况:
- 传入一个参数
正数
,那么就是从这个位置正数
开始截取到字符串的末尾。 - 传入一个参数
负数
,那么就是从字符串的末尾开始截取到这个位置负数
。 - 传入两个参数
正数1,正数2
,那么就是从开始位置正数1
开始截取到结束位置正数2
。 - 传入两个参数
负数1,负数2
,那么就是从开始位置负数1
开始截取到结束位置负数2
。 - 传入两个参数
正数1,负数2
,那么就是从开始位置正数1
开始截取到结束位置负数2
。 - 传入两个参数
位置1,位置2
(位置1大于位置2),那么最后返回的结果为空。
substring(start, end)
substring
方法的作用和slice
方法是一样的,不同之处有:
substring()
的参数不能为负数,如果为负数,那么就会自动转换为 0。substring()
的参数如果位置1大于位置2,那么就会自动调换位置。返回值不会像slice
方法那样返回空字符串。
value = str.substring(start, end);
substr(start, length)
这个方法现在还没有标准化,所以不建议使用它。
substr
方法的作用是返回一个新的字符串,包含从 start 到 start + length 的字符串。[start, start + length)
value = str.substr(start, length); 复制代码
里面的参数有以下几种情况:
- 传入两个参数
正数1,正数2
,那么就是从开始位置正数1
开始截取到结束位置正数1 + 正数2
。 - 传入一个参数
正数
,从指定位置正数
开始,截取到最后。 - 传入一个参数
负数
,从倒数第|负数|
个位置开始截取到最后。
其他一些常见方法
String.formCharCode()
通过Unicode编码获取字符
此方法是根据字符的Unicode编码获取字符。
value = String.formCharCode(unicode); 复制代码
方法里面的参数就是Unicode编码。
栗子:
var str = String.fromCharCode(72); console.log(str); // H 复制代码
concat()
连接字符串
此方法用于连接一个或者多个字符串。
value = str.concat(str1, str2, str3...); 复制代码
方法里面的参数可以是一个或者多个字符串。但是我们可以有更简单的办法,就是使用+
来实现。
所以这个方法我们基本不使用。
split()
字符串转换为数组【重要】
这个方法十分重要,在我们日常的开发中,经常会将字符串转换为数组。这个方法就变得尤为重要。
value = str.split('分隔符'); 复制代码
此方法中的参数,就是我们分隔字符串的依据,例如:一个字符串里面有多个逗号,我们恰好需要将这个字符串转换为数组,那么我们就可以使用逗号来分隔字符串。
var longStr = '1,2,3,4,5,6';// 字符串 var arr = str.split(','); console.log(arr); // [1, 2, 3, 4, 5, 6] 复制代码
replace()
替换字符串
此方法用于替换字符串中的内容。
value = str.replace('要替换的内容', '替换后的内容'); 复制代码
此方法中的参数,第一个参数是要替换的内容,第二个参数是替换后的内容。
var str1 = 'today is fine day!fine day!'; var str2 = str1.replace('fine', 'good'); console.log(str1); // today is fine day!fine day! console.log(str2); // today is good day!fine day! 复制代码
通过这段代码,我们知道替换效果不会改变原有的字符串,其次只会替换第一个匹配的内容。如要替换全部内容,就需要使用到正则表达式。
repeat()
重复字符串
此方法用于重复字符串。
value = str.repeat(count); 复制代码
此方法中的参数,就是重复的次数。
var str = 'hello'; var str1 = str.repeat(3); console.log(str1); // hellohellohello 复制代码
trim()
去除字符串两端的空格
此方法用于去除字符串两端的空格。
value = str.trim(); 复制代码
栗子:
var str = ' hello world '; var str1 = str.trim(); console.log(str1); // hello world 复制代码
toLocaleLowerCase()
&toLocalUpperCase()
转换大小写
此方法用于转换字符串的大小写。
value = str.toLocaleLowerCase(); value = str.toLocaleUpperCase(); 复制代码
此方法是将字符串全部改为大写或者小写。
栗子:
var str = 'Hello World'; var str1 = str.toLocaleLowerCase(); var str2 = str.toLocaleUpperCase(); console.log(str1); // hello world console.log(str2); // HELLO WORLD