在String对象中提供了很多处理字符串的方法,通过这些方法可以对字符串进行查找,截取,大小写转换,以及格式化等一些操作。
查找字符串
//indexOf 默认从左往右查找(首次出现的位置)
//lastIndexOf 字符串里的从右往左查找(最后一次出现的位置)
let str='moshanghua';
//字符串也可以看做是一个特殊的数组,里面也可以用数组的长度以及下标来操作
// console.log(str.length);
// console.log(str[0]);
// indexOf 查找 类似字符串的下标第一个字符是0开始
console.log(str.indexOf('a')); //4
console.log(str.lastIndexOf('a')); //9
提取部分字符串
// slice(start, end)
// slice() 从初始位置到结束位置(不包括结束位置),提取这部分字符串并返回到新字符串中。
let str="把'陌上花'提取到新字符串中";
let newStr=str.slice(2,5); //从下标为2的字符提取到下标为5的字符 //陌上花
// 该参数允许负值,如果为负值,则从字符串的结尾开始计算。
let str="moshanghua";
let newStr=str.slice(-8,-3); //shang
//如果省略第二个参数,则从起始位置到结束都截取出来
let str="moshanghua";
console.log(str.slice(2)); // 从下标为2的字符提取到字符串的末尾 //shanghua
// substring(start, end)
// substring()函数和slice()函数很相似,只是substring()不支持负值的参数。
// substr(start, length)
//substr()和slice()也很相似,只是第二个参数用于指定要截取的字符串的长度。第一个参数是起始位置,可以为负值。
let str="你好JavaScript";
console.log(str.substr(2)); // 从下标为2的字符提取到字符串的末尾 //JavaScript
console.log(str.substr(2,4)); //从下标为2的字符开始提取4个字符 //Java
console.log(str.substr(-10)); //JavaScript
替换字符串
// replace(oldstr,newstr),把字符串中一个指定的值替换成另一个值。
let str="x100 w120"
let aStr=str.replace("w120","w1200"); //x100 w1200
// replace()不会改变原来的字符串,它会返回一个新的字符串。
// 另外,replace()只会替换匹配的第一个字符串
// 而且,对大小写敏感
let str="x100 x100 w120"
let aStr=str.replace("x100","x1000"); //x1000 x100 w1200
大小写转换
toUpperCase()
把字符转换成大写
toLowerCase()
把字符转换成小写
let str="XiaomoMoshanghua";
//小写
console.log(str.toLowerCase());
//大写
console.log(str.toUpperCase());
连接和拆分
// concat() 连接两个或多个字符串。和“+”连接字符串运算符相似。
let str1="My name is";
let str2="Xiaomo";
let str3=str1.concat(str2); //My name is Xiaomo
// split()可以把一个字符串分割成字符串数组
str.split(separator,limit)
// separator 必选参数,指定的分割符
// limit 可选参数, 可指定返回数组的最大长度
let str1='213-fwr343-5746-3847663874';
let arr1=str1.split('-');
console.log(arr1);
//(4) ["213", "fwr343", "5746", "3847663874"]
//如果把空字符串(“”)作为分割符,那么字符串对象中的每个字符都会被分割
let arr1=str1.split('');
console.log(arr1);
// (26) ["2", "1", "3", "-", "f", "w", "r", "3", "4", "3", "-", "5", "7", "4", "6", "-", "3", "8", "4", "7", "6", "6", "3", "8", "7", "4"]
提取字符串字符
let str='moshanghua';
//charAt() 返回字符串中指定位置的字符,括号里的取值范围位0 ~string.length-1
console.log(str.charAt(6)); //g
// charCodeAt()返回字符的unicode码
console.log(str.charCodeAt(6)); //103
删除字符串两边的空格
//trim()删除字符串两边的空格
let sname=" Xiaomo ";
console.log(sname.trim()); //Xiaomo