JavaScript字符串常用的方法都有哪些?今天就来给大家总结归纳一下

130 阅读2分钟

操作方法

我们先来将字符串的操作方法分成四个点 增,删,改,查.然后我们在从这个四个点分别了解字符串的操作方法. 但是我们需要提前了解一点,字符串一旦创建了就不可改变.

这里增的意思不是说直接增加内容,而是创建一个字符串的副本在操作,除了常用 + 连接符 和${}模板字符串拼接之外,还可以通过concat

concat

用于将一个或多个字符传拼接成一个新字符串

let text = "holle"
let txt =text.concat("world")
console.log(txt)//"hello world
console.(text)//"hello"

并不是删除原字符串的内容,而是创建字符串的一个副本,在进行操作.

  • slice ()
  • substr()
  • substring() 这三种方法都返回调用他们的字符串的一个子字符串,而且都接收一个或两个参数
let text = "hello world";
console.log(text.slice(3)); // "lo world"
console.log(text.substring(3)); // "lo world"
console.log(text.substr(3)); // "lo world"
console.log(text.slice(3, 7)); // "lo w"
console.log(text.substring(3,7)); // "lo w"
console.log(text.substr(3, 7)); // "lo worl

这里的改也不是改变原字符串,而是创建字符串的一个副本,在进行操作.

  • 常见的有:
  • trim()、trimLeft()、trimRight()
  • repeat()
  • padStart()、padEnd()
  • toLowerCase()、 toUpperCase() 删除前.后或前后所有的空格符,在返回新的字符串.

trim()、trimLeft()、trimRight()

let text = "   hello world   "
let txt=text.trim()
console.log(text)//"   hello world   "
console.log(txt)//"hello world"

repeat

接收一个整数参数,表示要将字符串复制多少次,然后返回拼接所有副本后的结果

let text = "na"
let txt = text.repeat(2)// na na

padEnd(), padStart()

复制字符串,如果小于指定长度,则在相应一边填充字符,直至满足长度条件

let text = "foo"
console.log(text.padStar(6))//"foo"
console.log(text.padStar(9))//"......foo"

toLowerCase()、 toUpperCase()

大小写转化

let text = "hello world";
console.log(text.toUpperCase()); // "HELLO WORLD"
console.log(text.toLowerCase()); // "hello world"

除了通过索引的方式获取字符串还可以通过:

  • chatAt()
  • indexOf()
  • startWith()
  • includes() charAt()

返回给定索引位置的字符,由传给方法的整数参数指定

let text = "abcde";
console.log(text.charAt(2)); // "c"

indexOf

从字符串开头去搜索传入的字符串,并返回位置(如果没有找到则返回-1)

let text ="hello worle"
console.log(text.indexOf("o"))//4

startWith()、includes()

从字符串中搜索传入的字符串,并返回一个表示是否包含的布尔值

let text = "foobarbaz"
console.log(text.startsWith("foo")); // true
console.log(text.startsWith("bar")); // false
console.log(text.includes("bar")); // true
console.log(text.includes("qux")); // false

转换方法

split

把字符串按照指定的分割符,拆分成数组中的每一项.

let str = "12+23+34"
let arr = str.split("+") // [12,23,34]

模板匹配方法

针对正则表达式,字符串设计了几个方法:

  • 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 result = text.replace("at", "ond");
console.log(result); // "cond, bat, sat, fat"