这篇汇总一下,JavaScript中关于字符串常用几个方法:增、删、改和查。

字符串的增加操作,实际上就是拼接,也不是直接添加功能,而是创建字符串的一个副本,然后再进行操作。

常见的拼接方法就是:

  1. 使用+
  2. 使用模版${}进行字符串拼接
  3. 使用concat函数

使用concat拼接的代码如下:

let str = "hello ";
let result = str.concat('javascript');

这个result的结果就是hello javascript

删除操作,不是在原来的变量上操作的,而是创建新的副本,再进行操作。常见的删除方法有:

  • slice()
  • substr()
  • substring()

这三个方法都接受一个或者两个参数:

let stringValue = "hello world";
console.log(stringValue.slice(3)); // "lo world"
console.log(stringValue.substring(3)); // "lo world"
console.log(stringValue.substr(3)); // "lo world"
console.log(stringValue.slice(3, 7)); // "lo w"
console.log(stringValue.substring(3,7)); // "lo w"
console.log(stringValue.substr(3, 7)); // "lo worl"

改的操作,也是需要创建新的副本,然后再进行改的操作。常见的方法如下:

  • trim()、trimLeft()、trimRight,删除字符串前面和后面的空格
  • repeat(),接受一个整数作为参数,表示要将字符串复制多少次,然后返回拼接的结果。
  • padStart()、padEnd(),复制字符串,如果小于指定的长度,则在相应的一边填充字符串,一直填满为止。
  • toLowerCase()、toUpperCase(),大小写转换

字符串的查操作,除了通过索引的方式以外,还可以通过:

  • chatAt(),返回指定索引位置上的字符
  • indexOf(),从字符串开头开始搜索传入的字符串,并且返回对应的位置,如果没有搜索到,就返回-1
  • startsWith(),从字符串开头开始匹配,匹配到就返回true,否则返回false。注意,这个方法对大小写敏感,并且是从第一个字符开始匹配的
  • includes(),在字符串中搜索传入的字符串,并且返回一个布尔值,表示字符串中是否包含传入的字符串。

split

按照指定的分隔符,拆分成数组,比如:

let str = '12-32-453-546';
let arr = str.split('-'); // [12,32,453,546]

模板匹配方法

这是针对正则表达式设计的几个方法:

  • match()
  • search()
  • replace()

match(),接收一个参数,可以是一个正则表达式的字符串,也可以是一个RegExp对象,返回数组

let text = "cat, bat, sat, fat";
let pattern = /.at/;
let matches = text.match(pattern);
console.log(matches[0]); // "cat"

search(),接收一个参数,可以是一个正则表达式字符串,也可以是一个RegExp对象,找到就返回匹配的索引,否则就返回-1。

let text = "cat, bat, sat, fat";
let pos = text.search(/at/);
console.log(pos); // 1

replace(),接受两个参数,第一个表示匹配的内容,第二个参数为替换的内容。

let text = "cat, bat, sat, fat";
let result = text.replace("at", "ond");
console.log(result); // "cond, bat, sat, fat"

这就是JavaScript字符串常用的几个方法。