字符串的操作都是基于空间地址来操作的,不存在原有字符串是否改变,肯定是不变的
本文主要介绍以下操作方法
charAt / charCodeAt 、indexOf/lastIndexOf、slice、substring、substr、toUpperCase/toLowerCase、split、replace、trim、includes
1、charAt / charCodeAt
charAt() 方法从一个字符串中返回指定的字符。
charCodeAt ()方法是获取指定位置字符的Unicode编码
let str='hello,world!';
console.log(str.charAt(6));
//输出
w
console.log(str.charCodeAt(6));
//输出
119
2、indexOf/lastIndexOf
indexOf 输出该字符在字符串中第一次出现的位置
lastIndexOf 输出该字符在字符串中最后一次出现的位置
let str='hello,world!';
console.log(str.indexOf('w')); //输出 6
console.log(str.lastIndexOf('o')); //输出 7
注意:没有该字符串,则输出-1
3、slice
方法提取一个字符串的一部分,并返回一新的字符串。
str.slice(n,m) 从索引n开始查找,找到索引m(
不包含m
),把找到的字符当作新的
字符返回。
let str='hello,world!';
console.log(str.slice(0, 5));
//输出
hello
4、substring
和slice语法一模一样,唯一的区别:slice支持负数索引,而substring 不支持
let str='hello,world!';
console.log(str.substring(1, 2));
//输出
e
5、substr
str.substr(n,m),从索引n开始截取m个字符
let str='hello,world!';
console.log(str.substr(0, 1));
//输出
h
6、toUpperCase/toLowerCase
大小写字符之间的转换
let str='hello,world!';
console.log(str.toUpperCase());
console.log(str.toLowerCase());
//输出
HELLO,WORLD!
hello,world!
7、split
将字符串按照指定的分隔符,将一个String对象分割成
字符串数组
,以将字符串分隔为子字符串,以确定每个拆分的位置。
let str='hello,world!';
console.log(str.split(','));
console.log(str.split(''));
//输出
[ 'hello', 'world!' ]
[ 'h', 'e', 'l', 'l', 'o', ',', 'w', 'o', 'r', 'l', 'd', '!' ]
8、replace
方法返回一个由替换值替换一些或所有匹配的模式后的新字符串。模式可以是一个字符串或者一个
正则表达式
, 替换值可以是一个字符串或者一个每次匹配都要调用的函数。
let str='hello,world!';
console.log(str.replace('world', 'China'));
console.log(str.replace(/world/i, 'girl'));
//输出
hello,China!
hello,girl!
9、trim
trim() 方法会从一个字符串的两端删除空白字符
let str='hello,world! ';
console.log(str.trim());
//输出
hello,world!
10、includes
方法用于判断一个字符串是否包含在另一个字符串中,根据情况返回 true 或 false。
let str='hello,world! ';
console.log(str.includes('hello'));
console.log(str.includes('Hello'));
//输出
true
false
注意:区分大小写