JS+ES6新增字符串操作方法大汇总,共四十七种方法

简介: JS+ES6新增字符串操作方法大汇总,共四十七种方法

让我为大家介绍一下字符串的操作方法吧,你知道与不知道的大部分都在这!

分类可能有点不太对,还请大家见谅!

1.concat()

拼接字符串 可以连接两个或多个字符串

let str = "hello"
    let str1 =" str"
    console.log("hello".concat(str1)) //hello str
    console.log(str.concat(str1)) //hello str

2.padStart(总长度,“填充的字符串”)

返回新的字符串,表示用参数字符串从头部(左侧)补全原字符串

let str = "hello str"
    // 现在我们str的长度为9
    // 我们限定了总长度为10 我们在字符串最前面添加 一直添加到总长度为10
    // 如果未填充字符串 字符串不变
    console.log(str.padStart(10,"123")) //1hello str

3.padEnd(总长度,“填充的字符串”)

返回新的字符串,表示用参数字符串从尾部(右侧)补全原字符串

let str = "hello str"
    // 现在我们str的长度为9
    // 我们限定了总长度为10 我们在字符串最后面添加 一直添加到总长度为10
    // 如果未填充字符串 字符串不变
    console.log(str.padEnd(10, "123")) //hello str1

—————————————————————————————————————

4.slice()

可以从字符串中截取指定的内容

不会影响原字符串

第一个参数,开始位置的索引(包括开始位置)
第二个参数,结束位置的索引(不包含结束位置)

let str = "hello str"
    // 一个参数截取后面所有的字符串
    console.log(str.slice(6)) //str
    console.log(str.slice(0,5)) //hello
    // 也可以传递一个负数,负数将会从后面计算
    console.log(str.slice(0,-1)) //hello st

5.substr()

截取字符串 第一个参数:截取开始位置的索引,第二个参数:截取的长度

let str = "hello str"
    console.log(str.substr(0,5))//hello
    console.log(str.substr(6,3))//str

6.substring()

字符串的截取 substring(开始的索引号[, 结束的索引号])

let str = "hello str"
    // 当只有一个参数的时候 索引位置往后全部截取 包含索引位置
    console.log(str.substring(6)) //"str"
    // 当有两个参数的时候 开始索引的位置 结束索引的位置
    // 结束的索引不包含想要截取的部分
    // 记住包前不包后
    console.log(str.substring(6,7)) //"s"

7.trim()

清除字符串首尾的空格

let str = " hello str "
    console.log(str.trim()) //"hello str"

8.trimEnd()

trimEnd() 方法从一个字符串的末端移除空白字符

let str = "hello str    "
    console.log(str.length) //13
    console.log(str.trimEnd().length) // 9
    console.log(str.trimEnd()) // hello str

9.trimRight()

trimRight() 方法从一个字符串的末端移除空白字符

let str = "hello str    "
    console.log(str.length) //13
    console.log(str.trimRight().length) // 9
    console.log(str.trimRight()) // hello str

10.trimLeft()

trimLeft() 方法从一个字符串的前端移除空白字符

let str = "    hello str"
    console.log(str.length) //13
    console.log(str.trimLeft().length) // 9
    console.log(str.trimLeft()) // hello str

11.trimStart()

trimStart() 方法从一个字符串的前端移除空白字符

let str = "    hello str"
    console.log(str.length) //13
    console.log(str.trimStart().length) // 9
    console.log(str.trimStart()) // hello str

——————————————————————————————————————————————————

12.split()

切割字符串转换为数组

切割后的字符串可以使用数组方法

let str = "red,orange"
    console.log(str.split(",")) // ['red', 'orange']
    console.log(str.split("")) //['r', 'e', 'd', ',', 'o', 'r', 'a', 'n', 'g', 'e']

12.toLocaleLowerCase()

大写转小写

let str = "HELLO STR"
    console.log(str.toLocaleLowerCase()) //hello str

13.toLocaleUpperCase()

小写转大写

let str = "hello str"
    console.log(str.toLocaleUpperCase()) //HELLO STR

14.toLowerCase()

大写转小写

let str = "HELLO STR"
    console.log(str.toLowerCase()) //hello str

16.toUpperCase()

小写转大写

let str = "hello str"
    console.log(str.toUpperCase()) //HELLO STR

17.toString()

toString()的用法有许多,我介绍跟字符串相关的用法
可以转换数据类型为字符串型

let arr = [1]
    let obj = {name:"zs"}
    let num = 1
    console.log(arr.toString()) // 1
    console.log(typeof arr.toString()) // string
    console.log(obj.toString()) // [object Object]
    console.log(typeof obj.toString()) // string
    console.log(num.toString()) // 1
    console.log(typeof obj.toString()) // string

18.replace()

可以将字符串中指定内容替换为新内容

第一个参数被替换的内容

第二个参数新的内容

let str = "hello str"
    console.log(str.replace("hello","hh")) //hh str

19.replaceAll()

replaceAll() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串,该函数会替换所有匹配到的子字符串。

let str = "hello str hello str"
    console.log(str.replaceAll("hello","hh")) //hh str hh str

20.repeat(number)

返回新的字符串,表示将字符串重复指定次数返回

let str = "hello str"
    console.log(str.repeat(2)) //hello strhello str

——————————————————————————————————————————————————

21.length

用来获取字符串的长度

let str = "hello str"
    console.log(str.length) //9

22.charAt()

str.charAt(index),index是字符所在字符串的位置索引,索引从0开始

如果超过位置索引,返回 “ ”

let str = "hello str"
    console.log(str.charAt(0)) //h
    console.log(str.charAt(9)) //空

23.indexOf()

检索一个字符串中是否含有指定内容

如果字符串中含有该内容,则会返回其第一次出现的索引

有第二个参数 ,代表开始查找索引的位置

没找到指定的内容返回-1

let str = "hello hello"
    console.log(str.indexOf("h")) //0
    console.log(str.indexOf("v")) //-1
    //有两个参数的时候 索引指定开始查找位置
    console.log(str.indexOf("e",0)) //1
    console.log(str.indexOf("h",1)) //-1

24.lastIndexOf()

检索一个字符串中是否含有指定内容

从后往前找

如果字符串中含有该内容,则会返回其最后一次出现的索引

有第二个参数 ,代表开始查找索引的位置

没找到指定的内容返回-1

let str = "hello hello"
    console.log(str.lastIndexOf("h")) //6
    console.log(str.lastIndexOf("v")) //-1
    // 从下标为0的位置开始从后往前找
    console.log(str.lastIndexOf("h",0)) //0
    console.log(str.lastIndexOf("h",6)) //6

25.includes()

用于判断一个字符串是否包含在另一个字符串中,根据情况返回 true 或 false。

let str = "hello str"
    console.log(str.includes("hello")) //true
    console.log(str.includes("str")) //true
    console.log(str.includes("helo")) //false
    //两个值时 第二个值是索引 如下例 从索引1后面再开始查找
    console.log(str.includes("hello",1)) //false
    console.log(str.includes("ello",1)) //true

26.charCodeAt()

返回指定索引位置字符的 Unicode 值

let str = "hello str"
    console.log(str.charCodeAt(0)) //104

27.formCharCode()

可以根据字符编码去获取字符

需要通过String.fromCharCode() 去使用

console.log(String.fromCharCode(20000)) // 北

28.search()

可以搜索字符串中是否含有指定内容

如果搜索到指定内容,则会返回第一次出现的索引,如果没用搜索到返回-1

也可以接收一个正则表达式作为参数,然后根据正则表达式去检索字符串

let str = "hello str"
    console.log(str.search("hello")) //0
    console.log(str.search("str")) //6
    console.log(str.search("v")) //-1
    // 可以使用正则表达式
    let str1 = "aac abc acc"
    console.log(str1.search(/a[abc]c/)) //0

29.match()

可以根据正则表达式,从一个字符串中将符合条件的内容提取出来

默认情况下只会找到第一个符号要求的内容,找到停止检索

可以设置正则表达式全局匹配

返回一个数组

let str = "1a2b3c"
    console.log(str.match(/[A-z]/)) 
    console.log(str.match(/[A-z]/g))

30.at()

at() 方法用于接收一个整数值并返回该索引对应的元素,允许正数和负数。负整数从数组中的最后一个元素开始倒数。
匹配给定索引的数组中的元素。如果找不到指定的索引,则返回 undefined。

let str = "hello str"
    console.log(str.at(9)) // undefined
    console.log(str.at(0)) // h
    console.log(str.at(-1)) // r

31.startsWith()

返回布尔值,判断参数字符串是否在原字符串的头部

let str = "hello str"
    // h在字符串的头部返回true
    console.log(str.startsWith("h"))//true
    // e不在头部返回false
    console.log(str.startsWith("e"))//false

32.endsWith()

返回布尔值,判断参数字符串是否在原字符串的尾部

let str = "hello str"
    // r在字符串的尾部返回true
    console.log(str.endsWith("r")) // true
    // h不在字符串的尾部返回false
    console.log(str.endsWith("h")) // false

33.localeCompare()

用于比较两个字符串
如果第一个字符串大于第二个字符串返回1
如果第一个字符串等于第二个字符串返回0
如果第一个字符串小于第二个字符串返回-1

console.log("a".localeCompare("b")) // -1
    console.log("a".localeCompare("a")) // 0
    console.log("b".localeCompare("a")) // 1

——————————————————————————————————————————————————

标签类型方法

34.sub()

该方法返回加了 sub 标签的字符串

let str = "hello str"
    console.log(str.sub())

35.big()

该方法返回加了 big 标签的字符串

let str = "hello str"
    console.log(str.big())

36.bold()

该方法返回加了 b 标签的字符串

let str = "hello str"
    console.log(str.big())

37.anchor()

anchor() 方法用于创建 HTML 锚

该方法返回加了 a 标签的字符串

let str = "hello str"
    console.log(str.anchor("url地址"))

38.blink()

blink() 方法用于显示闪动的字符串
该方法返回加了 blink 标签的字符串

let str = "hello str"
    console.log(str.blink())

39.fixed()

fixed() 方法用于把字符串显示为打字机字体。
该方法返回加了 tt 标签的字符串

let str = "hello str"
    console.log(str.fixed())

40.small()

该方法返回加了 small 标签的字符串**

let str = "hello str"
    console.log(str.small())

41.link()

该方法返回加了 a 标签的字符串

let str = "hello str"
    console.log(str.link("url地址"))

42.strike()

该方法返回加了 strike 标签的字符串

let str = "hello str"
    console.log(str.strike())

43.fontcolor()

fontcolor() 方法用于按照指定的颜色来显示字符串
该方法返回加了 font 标签的字符串

let str = "hello str"
    console.log(str.fontcolor("red"))

44.fontsize()

fontsize() 方法用于按照指定的尺寸来显示字符串。
该方法返回加了 font 标签的字符串

let str = "hello str"
    console.log(str.fontsize(12))

45.italics()

italics() 方法用于把字符串显示为斜体。
该方法返回加了 i 标签的字符串

let str = "hello str"
    console.log(str.fontsize(12))

——————————————————————————————————————————————————

46.valueOf()

返回 String 对象的原始值:

let str = "hello str"
    console.log(str.valueOf()) //hello str

47.模板字符串

ES6新增了模板字符串,让我们拼接字符串时更方便

注意:切记使用反引号作为字符串的定界符分隔的字面量

1.拼接

在我们模板字符串出现之前,我们想要拼接字符串是比较麻烦的

const name = "杰克";
  const age = 18;
  // 以前的拼接字符串
  console.log("大家好,我的名字叫"+name+",我今年"+age+"岁")

现在我们有了模板字符串,拼接起来就会简单许多

模板字符串使用反引号 `` 作为字符串的定界符分隔的字面量

const name = "杰克";
    const age = 18;
    // 模板字符串,切记使用反引号
    console.log(`大家好,我的名字叫${name},我今年${age}岁`)

2.换行

以前我们用双引号或者单引号编写字符串时,如果出现一行装不下的情况下,我们需要使用+号来拼接

const name = "杰克";
    const age = 18;
    // 一行装不下我们需要用+来拼接
    console.log("大家好,我的名字叫杰克"
    +"今年18岁了")

现在我们有了模板字符串,就可以更简单的实现换行遇到的问题

const name = "杰克";
    const age = 18;
    // 一行装不下我们需要用+来拼接
    console.log(`大家好,我的名字叫杰克
    今年18岁了`)

感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!

相关文章
|
4天前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可以是任意类型且有序,与对象的字符串或符号键不同;Set存储唯一值,无重复。两者皆可迭代,支持for...of循环。Map有get、set、has、delete等方法,Set有add、delete、has方法。示例展示了Map和Set的基本操作。
17 3
|
17天前
|
存储 JavaScript 索引
JS中数组的相关方法介绍
JS中数组的相关方法介绍
|
17天前
|
JavaScript 前端开发 索引
JavaScript中与字符串相关的方法
JavaScript中与字符串相关的方法
|
2天前
|
JavaScript 前端开发
js 操作数组的方法
js 操作数组的方法
13 4
|
4天前
|
JavaScript 前端开发
js开发:请解释什么是ES6的Generator函数,以及它的用途。
ES6的Generator函数是暂停/恢复功能的特殊函数,利用yield返回多个值,适用于异步编程和流处理,解决了回调地狱问题。例如,一个简单的Generator函数可以这样表示: ```javascript function* generator() { yield 'Hello'; yield 'World'; } ``` 创建实例后,通过`.next()`逐次输出"Hello"和"World",展示其暂停和恢复的特性。
15 0
|
10天前
|
JavaScript 前端开发
js字符串拼接
js字符串拼接
|
10天前
|
JavaScript 前端开发 Java
js 垃圾回收机制的方法
js 垃圾回收机制的方法
|
10天前
|
JavaScript 前端开发
js数据类型有几类?一共有几种?判断数据类型的方法是什么?
js数据类型有几类?一共有几种?判断数据类型的方法是什么?
|
11天前
|
JavaScript 前端开发
js绑定事件的方法
js绑定事件的方法
22 11
|
12天前
|
JavaScript
JS生成uuid的四种方法
JS生成uuid的四种方法
11 0