字符串方法
1.indexof()
返回调用它的 String 对象中第一次出现的指定值的索引,从 fromIndex 处进行搜索,未找到返回 -1, // 语法如下: str.indexOf(searchValue, [fromIndex])
let str = "I am little cute."
let a = str.indexOf('l')
console.log(a) //5
let b = str.indexOf('l', 6)
console.log(b) //9 从第六个开始找 l 出现位置
2.charAt()
charAt() 方法从一个字符串中返回指定的字符。 // 语法如下: str.charAt(index)
let str1 = "I am little cute."
let a1 = str1.charAt(3)
console.log(a1); //m 返回3
let b1 = str1.charAt(50)
console.log(b1); //未输出,不报错
3.concat()
concat() 方法将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。
语法如下: str . concat ( str1 , str2, ... strN ])
示例:
var str = 'hello';
var s = str.concat(' world', '!');
console.log(s); //hello world!
注意:
(1)使用concat() 来拼接字符串和使用加号来拼接字符串的效果是一样的,但是使用concat()更优雅一点。
(2)但是在开发中都要避免其使用,特别是用于循环中(内存占用)。
4.substring()
截取开始到结束
语法如下: str . substring ( indexStart , indexEnd )
var str = 'charset';
var s = str.substring(1);
console.log(s); //harset 从1到最后
s = str.substring(1, 3);
console.log(s); // ha 从1到3
s = str.substring(3, 1);
console.log(s); // ha 等于s = str.substring(1, 3);
s = str.substring(-1);
console.log(s); //如果给的第一个参数是负数,那么它会把字符串复制后返回。
5、substr()
substr() 方法返回一个字符串在开始索引位置截取lenght个。// 语法如下: str.substr ( from , length );
let str2 = "abcdefg";
let a2 = str2.substr(1, 2)
console.log(a2); //bc 从1开始取2个
let b2 = str2.substr(1)
console.log(b2); //bcdefg 从1开始到最后
let c2 = str2.substr(-2)
console.log(c2); //fg 反向2个
6、slice()
slice() 方法截取某个字符串的一部分
语法如下: str . slice ( beginIndex , endIndex )
示例:
var str = 'The morning is upon us.';
var s = str.slice(5);
console.log(s); //orning is upon us. 从5到最后
s = str.slice(5, 9);
console.log(s); //orni 从5到9
s = str.slice(5, -3);
console.log(s); //orning is upon 从5到倒数3
s = str.slice(-1, 5);
console.log(s); //负数 无输出内容
说明: 和substr()的功能类似,都是用于截取子字符串的。
7.replace()
新字符串替换旧的匹配到的字符串
语法如下: str . replace ( regexp | substr , newSubStr | function )
var str = 'Twas the night before Xmas...';
// 把字母 e 替换为 ,
var s = str.replace('e', ',');
console.log(s); //Twas th, night before Xmas... 只替换了一个
s = str.replace(/\s+/ig, '-');
console.log(s); //Twas-the-night-before-Xmas... 替换了所有空格
说明: i 表示不区分大小写; g 表示全局匹配; m 表示匹配多行;
参数 | 说明(简略记录) |
regexp |
一个RegExp对象或者其字面量。改正则匹配到的内容会被第二个参数返回的值替换 |
substr |
字符串,匹配到的内容仅会被替换掉第一个 |
newSubStr |
需要替换成的字符串 |
function |
返回字符串的函数 |
8.replaceAll()
用新字符串替换所有匹配到的旧字符串
同replace()
注意:
(1)replaceAll() 方法会替换掉所有被查找到的字符 ;
(2)replaceAll() 方法中如果要使用正则表达式,那么必须要添加全局匹配参数(/g)。
9.split()
split() 方法使用指定的分隔符字符串将一个 字符串 分割成 数组示例:
var str = "Hello World How are you doing";
var arr = str.split(' ');
console.log(arr); //['Hello', 'World', 'How', 'are', 'you', 'doing']
arr = str.split(/\s+/);
console.log(arr); //['Hello', 'World', 'How', 'are', 'you', 'doing']
说明:支持正则表达式分割
10.trim()
trim() 方法会从一个字符串的两端删除空白字符。
示例:
var str = ' char set ';
var s = str.trim();
console.log(s); //char set 没有前后的空格 中间的空格不能去除
11.match()
match() 方法检索返回一个字符串匹配正则表达式的结果。
语法如下: str . match ( regexp )
示例:
var str = 'For more information, see Chapter 3.4.5.1';
// 定义一个正则表达式
var regex = /see (chapter \d+(\.\d)*)/i;
var flag = str.match(regex);
console.log(flag); //自己验证