在开发中,经常需要对字符串进行操作,String类提供了属性和方法
1.常用的属性length
length可以获取字符串的长度
var str = "Hello world"
console.log(str.length)
//在控制台输出长度为11
2.访问字符串的字符
方法一:通过字符串的索引 str[index]
var str = "Hello world"
console.log(str[0])
//输出H
方法二:通过 str.charAt(index) 方法
var str = "Hello world"
console.log(str.charAt(0))
//输出H
方法一和方法二的区别是索引的方式没有找到会返回undefined,而charAt没有找到会返回空字符串;
var str = "Hello World"
console.log(str[20])
console.log(str.charAt(20))
3.修改字符串
字符串定义之后是不能修改的,想单纯给一个索引对应的值修改是不能实现的。
修改之后输出的还是hello world
因为字符串在定义之后不能修改,所以想要改变字符串大小写,只能是返回一个新的值
3.1.将所有的字符转成小写toLowerCase
var msg = "Hello World"
console.log(msg.toLowerCase());
//hello world
3.2.将所有的字符转成大写toUpperCase
var msg = "Hello World"
console.log(msg.toUpperCase());
//HELLO WORLD
4. 查找字符串
方法一:查找字符串位置
str.indexOf(searchValue [, fromIndex] )
- 从fromIndex开始,查找searchValue的索引;
- 如果没有找到,那么返回-1;
var msg = "Hello World"
console.log(msg.indexOf("o", 1));
console.log(msg.indexOf("jack", 0))
找o,从索引值为1开始查找,找到了在索引值为4的位置
找jack,找不到,返回-1
方法二:是否包含字符串
str.includes(searchString [, position] )
- 从position位置开始查找searchString, 根据情况返回 true 或 false
- 这是ES6新增的方法;
var msg = "Hello World"
console.log(msg.includes("o"))
//true
5.字符串开头与结尾
5.1.字符串以xxx开头startsWith
str.startsWith(searchString[, postion])
- 从position位置开始,判断字符串是否以searchString开头
- 这是ES6新增的方法
var msg = "Hello World"
console.log(msg.startsWith("o"))
//false 不是以o开头的
5.2.字符串以xxx结尾endsWith
str.endWith(searchString[ , length])
- 在length长度内,判断字符串是否以searchString结尾
- ES6新增的方法
var msg = "Hello World"
console.log(msg.endsWith("o"))
//false 不是以o结尾的
6.替换字符串replace
str.replace(regexp | substr, newSubStr | function)
- 查找到对应的字符串,并且使用新的字符串进行替换;
- 可以 传入正则表达式,也可以传入函数来替换
var msg = "Hello World"
console.log(msg.replace("Hello","hohoho"))
7.获取子字符串slice、substring、substr
var msg = "Hello World"
console.log(msg.slice(0, 2))
//是不包含2的索引值对应的内容的
开发中推荐使用slice
8.拼接字符串concat
str.concat(str2, [, ...strN])
可以拼接不止一条字符串
console.log("Hello".concat("World").concat("My"))
9.删除首尾空格trim
str.trim()
var msg = " Hello World "
console.log(msg.trim())
前面跟后面的空格都已经删除掉了
10.字符串分割split
str.split([separator[, limit] ] )
- separator:以什么字符串进行介个,也可以是一个正则表达式;
- limit:限制返回片段的数量
var msg = "Hello World"
console.log(msg.split(" ",2))