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岁了`)

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

相关文章
|
28天前
|
JavaScript 前端开发 程序员
前端原生Js批量修改页面元素属性的2个方法
原生 Js 的 getElementsByClassName 和 querySelectorAll 都能获取批量的页面元素,但是它们之间有些细微的差别,稍不注意,就很容易弄错!
|
26天前
|
监控 JavaScript Java
Node.js中内存泄漏的检测方法
检测内存泄漏需要综合运用多种方法,并结合实际的应用场景和代码特点进行分析。及时发现和解决内存泄漏问题,可以提高应用的稳定性和性能,避免潜在的风险和故障。同时,不断学习和掌握内存管理的知识,也是有效预防内存泄漏的重要途径。
121 52
|
1月前
|
JavaScript 前端开发 索引
js中DOM的基础方法
【10月更文挑战第31天】这些DOM基础方法是操作网页文档结构和实现交互效果的重要工具,通过它们可以动态地改变页面的内容、样式和行为,为用户提供丰富的交互体验。
|
1月前
|
缓存 JavaScript UED
js中BOM中的方法
【10月更文挑战第31天】
|
27天前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
40 5
|
1月前
|
JavaScript 前端开发 数据处理
模板字符串和普通字符串在浏览器和 Node.js 中的性能表现是否一致?
综上所述,模板字符串和普通字符串在浏览器和 Node.js 中的性能表现既有相似之处,也有不同之处。在实际应用中,需要根据具体的场景和性能需求来选择使用哪种字符串处理方式,以达到最佳的性能和开发效率。
|
1月前
|
JavaScript 前端开发 安全
ECMAScript 6(以下简称 ES6)的出现为 JavaScript 带来了许多新的特性和改进,其中 let 和 const 是两个非常重要的关键字。
ES6 引入了 `let` 和 `const` 关键字,为 JavaScript 的变量管理带来了革新。`let` 提供了块级作用域和暂存死区特性,避免变量污染,增强代码可读性和安全性;`const` 用于声明不可重新赋值的常量,但允许对象和数组的内部修改。两者在循环、函数内部及复杂项目中广泛应用,有助于实现不可变数据结构,提升代码质量。
26 5
|
28天前
|
JavaScript 前端开发 索引
JavaScript学习第二章--字符串
本文介绍了JavaScript中的字符串处理,包括普通字符串和模板字符串的使用方法及常见字符串操作方法如`charAt`、`concat`、`endsWith`等,适合前端学习者参考。作者是一位热爱前端技术的大一学生,专注于分享实用的编程技巧。
23 2
|
28天前
|
JavaScript 前端开发
js中的bind,call,apply方法的区别以及用法
JavaScript中,`bind`、`call`和`apply`均可改变函数的`this`指向并传递参数。其中,`bind`返回一个新函数,不立即执行;`call`和`apply`则立即执行,且`apply`的参数以数组形式传递。三者在改变`this`指向及传参上功能相似,但在执行时机和参数传递方式上有所区别。
26 1
|
1月前
|
JavaScript 前端开发
.js方法参数argument
【10月更文挑战第26天】`arguments` 对象为JavaScript函数提供了一种灵活处理参数的方式,能够满足各种不同的参数传递和处理需求,在实际开发中具有广泛的应用价值。
39 7