JavaScript -- 字符串常用方法及示例代码介绍

news2024/11/23 11:01:54

文章目录

  • 字符串的方法
    • 1 length
    • 2 索引
    • 3 str.at()
    • 4 str.charAt()
    • 5 str.concat()
    • 6 str.includes()
    • 7 str.indexOf() 和 str.lastIndexOf()
    • 8 str.startsWith() 和 str.endsWith()
    • 9 str.padStart() 和 str.padEnd()
    • 10 str.replace() 和 str.replaceAll()
    • 11 str.slice() 和 str.substring()
    • 12 str.split() 和 str.join()
    • 13 str.toLowerCase() 和 str.toUpperCase()
    • 14 str.trim() 和 str.trimStart() 和 str.trimEnd()
    • 15 str.search()
    • 16 str.match() 和 str.matchAll()

字符串的方法

String文档

字符串其本质就是一个字符数组,所以字符串的很多方法都和数组是非常类似的

"hello" --> ["h", "e", "l", "l", "o"]

1 length

length 获取字符串的长度

let str = "hello"
str.length

image-20221203203608946

2 索引

字符串[索引] 获取指定位置的字符

let str = "hello"
str[1]

image-20221203203623273

3 str.at()

根据索引获取字符,可以接受负索引

let str = "hello"
console.log(str.at(0))
console.log(str.at(-1))
console.log(str.at(-2))

image-20221203203733396

4 str.charAt()

根据索引获取字符

不支持负数,传入负数返回的是空串

let str = "hello"
console.log(str.charAt(0))

image-20221203203834538

5 str.concat()

用来连接两个或多个字符串

不会破坏原来的字符串,会生成新字符串

+效果一样,推荐使用+

let str = "hello"
console.log(str.concat(" ", "world"))

image-20221203203951389

6 str.includes()

  • 用来检查字符串中是否包含某个内容(字符串)
    • 有返回true
    • 没有返回false
  • 第一个参数是要找的内容
  • 第二个参数是查找的起始位置
let str = "hello hello how are you"
console.log(str.includes("hello"))
console.log(str.includes("ttt"))
console.log(str.includes("hello", 10))

image-20221203204400489

7 str.indexOf() 和 str.lastIndexOf()

查询字符串中是否包含某个内容,并返回下标,如果没有的话返回-1

第二个参数是查找的起始,不传默认为0

let str = "hello hello how are you"

image-20221203204515290

8 str.startsWith() 和 str.endsWith()

检查一个字符串是否以指定内容开头或者结尾的

let str = "hello hello how are you"

image-20221203204635491

9 str.padStart() 和 str.padEnd()

通过在开头或者结尾添加指定的内容,使字符串保持某个长度

  • 第一个参数是字符串的位数
  • 第二个参数是要补的符号

如果穿进去的第一个参数比str.length少,则不做任何操作

str = "100"

console.log(str.padStart(7, "0"))
console.log(str.padEnd(7, "0"))

image-20221203204851125

10 str.replace() 和 str.replaceAll()

使用一个新字符串替换一个指定内容

str = "hello hello how are you"

let result = str.replace("hello", "abc")
console.log(result)

str = "hello hello how are you"
result = str.replaceAll("hello", "abc")
console.log(result)

image-20221203205936740

使用正则表达式替换

通过指定模式g可以实现全部替换

image-20221203223039741

11 str.slice() 和 str.substring()

对字符串进行切片

  • 第一个参数是开始位置
  • 第二个参数是结束位置
  • 前闭后开

substring会自动判断参数,如果第一个参数比第二个参数大,则会自动交换参数位置,slice不会

str = "hello hello how are you"
result = str.slice(12, 15)
result = str.slice(15, 12)
result = str.substring(12, 15)
result = str.substring(15, 12)

image-20221203210404837

12 str.split() 和 str.join()

str.split():用来将一个字符串拆分为一个数组

str.join():用来将数组拼接为字符串

  • 参数是分割的符号,也可以根据正则表达式拆分
str = "abc@bcd@efg@jqk"
result = str.split("@")
result = result.join("@"")

image-20221203210753350

根据正则表达式拆分

image-20221203222554303

13 str.toLowerCase() 和 str.toUpperCase()

将字符串转为大写或小写

str = "abcdABCD"

result = str.toLowerCase()
result = result.toUpperCase()

image-20221203211151241

14 str.trim() 和 str.trimStart() 和 str.trimEnd()

  • str.trim():去除字符串的前后空格
  • str.trimStart():去除开始空格
  • str.trimEnd():去除结束空格
str = "    ab  c     "
str.trim()
str.trimStart()
str.trimEnd()

image-20221203211325655

15 str.search()

可以去搜索符合正则表达式的内容第一次在字符串中出现的位置

image-20221203222845262

16 str.match() 和 str.matchAll()

  • str.match():根据正则表达式去匹配字符串中符合要求的内容
  • str.matchAll():根据正则表达式去匹配字符串中符合要求的内容(必须设置g 全局匹配),返回的是一个迭代器

str.match()可以通过设置全局模式g来匹配所有符合的字符串,并以数组的形式返回

image-20221203223229801

str.matchAll()如果不使用全局模式的话会报错,返回的是一个迭代器,使用for-of遍历可以打印结果

image-20221203223802189

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/66744.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql调优(一)——性能监控

一、大纲图 【Mysql调优.xmind】 二、Mysql调优简写 2.1 性能监控 2.1.1 使用show profile查询剖析工具,可以指定具体的type 此工具默认是禁用的,可以通过服务器变量在会话级别动态的修改: set profiling1;当设置完成之后,在…

某Android大厂面试100题,涵盖测试技术、环境搭建、人力资源......【速度领取】

最近看到网上流传着各种面试经验及面试题,往往都是一大堆技术题目贴上去,但是没有答案。 为此,小编用业余时间整理了这份软测常见的面试题及详细答案,包含测试技术面试题、开发及环境搭建类面试题以及人力资源方向的面试题&#…

代码随想录训练营第42天|01背包问题、LeetCode 416. 分割等和子集

参考 代码随想录 01背包问题 01背包是在M件物品取出若干件放在空间为W的背包里,每件物品的体积为W1,W2至Wn,与之相对应的价值为P1,P2至Pn。01背包是背包问题中最简单的问题。01背包的约束条件是给定几种物品,每种物品有且只有一…

java计算机毕业设计ssm网上拍卖系统vdum4(附源码、数据库)

java计算机毕业设计ssm网上拍卖系统vdum4(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。…

MySql分库分表

问题分析: 随着互联网及移动互联网的发展,应用系统的数据量也是成指数式增长,若采用单数据库进行数据存储,存在以下性能瓶颈: 1、IO瓶颈:热点数据太多,数据库缓存不足,产生大量磁盘…

小快轻准,5分钟自助上线,中小型制造企业数字化转型

中小企业作为国民经济的重要组成部分,占据我国企业数量的90%以上。 继《中小企业数字化赋能专项行动方案》发布后,工信部近日印发《中小企业数字化转型指南》,提出14条具体举措,为中小企业明确数字化转型路径。 地方政府也纷纷出…

Linux系统管理、运行级别、关闭防火墙

目录 一、Linux服务管理 1.1 基本概念 1.2 systemctl(centos7,很重要) 1.2.1 基本语法 1.2.2 查看服务 1.2.3 防火墙操作 1.3 systemctl 设置后台服务的自启配置 二、系统运行级别 2.1 运行级别 2.2 查看当前运行级别 2.2修改当前运行…

8年三届世界杯,8年前端开发,梅西一共踢没了我八千八

转眼2022年即将过去,我已经做了那么久的开发了,一路走来,不断的工作,换工作,找工作,不断的学习新知识。 同时也看着梅西参加了3届世界杯了,逝者如斯夫,不舍昼夜啊。 在这8年里&#…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java焦作旅游网站q5msq

首先选择计算机题目的时候先看定什么主题,一般的话都选择当年最热门的话题进行组题,就比如说,今年的热门话题有奥运会,全运会,残运会,或者疫情相关的,这些都是热门话题,所以你就可以…

Elasticsearch Data Stream 数据流使用

本文是《Elasticsearch索引生命周期管理ILM》中数据流索引补充篇,文章地址如下: https://mp.weixin.qq.com/s/ajhFp-xBU1dJm8a1dDdRQQ 并且在另一片Elasticsearch的进阶使用-动态模版中也提到了相关数据流索引的内容,有兴趣的可以回过头看一下…

知乎热议的 Java 面试成神笔记,下载量已过90k,面试神技.exe进程已启动

在某论坛上面对于“中国程序员数量是否已经饱和或者过剩”这个话题很火! 今年大家都有一个共同的感受:工作不好找,薪资不理想,面试造火箭。 其实,由于不仅是因为今年受疫情影响,很多公司经营不下去&#xf…

Java中的类和对象(Java系列4)

目录 前言: 1.什么是面向对象 2.类的定义和使用 3.this引用 3.1this引用的概念 3.2this引用的特性 3.3this的使用 4.构造方法 4.1构造方法概念 4.2构造方法的特性 5.默认初始化 6.就地初始化 7.封装 8.封装扩展之包 8.1为什么对提出包的概念呢&#x…

前端开发需要会什么?先掌握这三大核心关键技术

前端工程师,如何创造/制作一个网站应用呢? 为了更好的让你理解,我们简单地做一个类比:动画制作者在创造人物的时候,需要从构图、着色和动画效果上入手,让人物有骨、有血,灵性生动。 而如果将一…

长安链共识模块优化中的“精益求精”

长安链在v2.3.0版本中对共识模块进行了优化,主要包括优化TBFT消息机制并将异步发送信息功能进行了拆分,独立设计了一致性引擎模块。优化后共识模块整体逻辑更清晰、共识更高效。 TBFT消息机制优化背景 在长安链的V2.3.0版本的TBFT共识算法中&#xff0…

W易NEWS login逆向分析

内容仅供参考学习 欢迎朋友们V一起交流: zcxl7_7 目标 网址:案例地址 分析 首先进行一次登录,获取流程 在这个流程中可以看到dl/zj/mail/l这个接口返回了新的cookie,可以猜测这个是登录核心;dl/zj/mail…

通达信接口公式怎样进行破解?

如果我们想对通达信接口的公式进行破解该怎么做呢?今天我们来风险一下方法,但是有两个前提: 1:不是使用winhex,而是使用ollydbg来破解; 2:只是用户公式修改密码有效。对于导入密码无效。对于系统公式密码无效&#xff…

c语言:关键字(一)

关键字一.古老的关键字—auto1.全局变量与局部变量2.auto的使用二.最快的关键字—register一.古老的关键字—auto 1.全局变量与局部变量 在花括号里定义的变量就是局部变量,反之就是全局变量 这里举个例子 这时我们在进行编译时会报错告诉我们y没定义 这其实就是…

redis常用数据类型以及命令详细介绍

查询redis的命令:http://www.redis.cn/commands.html Redis键(key) keys *查看当前库所有key (匹配:keys *1) exists key判断某个key是否存在 type key 查看你的key是什么类型 del key 删除指定的key数据 unlink key 根据value选择非阻塞删除 仅将keys…

计算机组成原理(二)运算方法和运算器

目录数制与编码字符和字符串的表示方法ASCII码汉字编码定点数和浮点数的表示定点数表示方法浮点数表示方法定点数和浮点数的运算定点数的运算浮点数的运算运算器的组成算数逻辑单元(ALU)算数单元逻辑单元内部总线运算器的基本结构数制与编码 字符和字符…

【动态规划】爬楼梯爬的不仅仅是楼梯

深度思考爬楼梯问题,抽取一般过程,目标是对其变式题也能认出并且求解 一、题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? https://leetcode.cn/problems/climbin…