javascript基础二:Javscript字符串的常用方法有哪些?

news2024/9/30 3:56:15

在日常开发中,我们对字符串也是操作蛮多,这里我们来整理下字符串的一下最常用的方法
在这里插入图片描述
一、操作方法
字符串常用的操作方法归纳为增、删、改、查


这里增的意思并不是说直接增添内容,而是创建字符串的一个副本,再进行操作

除了常用+以及${}进行字符串拼接之外,还可通过concat

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

let str = '小爱同学'
let value = str.concat(" 你好")
str  //'小爱同学'
value //'小爱同学 你好'

在这里插入图片描述

这里的删的意思并不是说删除原字符串的内容,而是创建字符串的一个副本,再进行操作
常见的有:

slice()
substr()
substring()

这三个方法都返回调用它们的字符串的一个子字符串,而且都接收一或两个参数。
具体使用方法如下
slice
slice() 方法可通过指定的开始和结束位置,提取字符串的某个部分,并以新的字符串返回被提取的部分

stringObject.slice(start, end)

参数说明:
start(必需):规定从何处开始选取。如果是负数,那么它规定从字符串尾部开始算起的位置。也就是说,-1 指最后一个字符,-2 指倒数第二个字符,以此类推。
end(可选):规定从何处结束选取,即结束处的字符下标。如果没有指定该参数,那么截取的字符串包含从 start 到结束的所有字符。如果这个参数是负数,那么它规定的是从数组尾部开始算起的字符。

let str = '123456789'
undefined
str.slice(1)
'23456789'
str.slice(3,-3)
'456'
str.slice(-3)
'789'

在这里插入图片描述
substring
substring 方法用于提取字符串中介于两个指定下标之间的字符。语法如下:

stringObject.substring(start, stop)

参数说明:
start(必需):一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop(可选):一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。

注意事项:
如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。
如果 start 或 end 为负数,那么它将被替换为 0。

let str = '123456789'
undefined
str.substring(2,2)
''
str.substring(7,2)
'34567'
str.substring(-1,-2)
''

在这里插入图片描述
substr
substr 方法用于返回一个从指定位置开始的指定长度的子字符串。语法如下:

stringObject.substr(start, length)

参数说明:
start(必需):所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。
length(可选):在返回的子字符串中应包括的字符个数。

注意事项:
如果 length 为 0 或负数,将返回一个空字符串。
如果没有指定 length,则子字符串将延续到 stringObject 的最后。
如果 start 或 length 为负数,那么它将被替换为 0

let str = '123456789'
undefined
str.substr(1,0)
''
str.substr(1,-1)
''
str.substr(0)
'123456789'
str.substr(-1,-1)
''
str.substr(0,0)
''

在这里插入图片描述


这里改的意思也不是改变原字符串,而是创建字符串的一个副本,再进行操作
常见的有:

trim()、trimLeft()、trimRight()
repeat()
padStart()、padEnd()
toLowerCase()、 toUpperCase()

trim()、trimLeft()、trimRight()
删除前、后或前后所有空格符,再返回新的字符串

let str = ' 小爱同学  你好 '
undefined
let value = str.trim()
undefined
str
' 小爱同学  你好 '
value
'小爱同学  你好'

在这里插入图片描述
repeat()
接收一个整数参数,表示要将字符串复制多少次,然后返回拼接所有副本后的结果
在这里插入图片描述

let str = '1234567891'
undefined
str.repeat(2)
'12345678911234567891'

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

let str = "123456"
undefined
str.padStart(10)
'    123456'
str.padEnd(10,'-')
'123456----'
str.padEnd(5,'-')
'123456'
str.padEnd(3,'-')
'123456'

在这里插入图片描述

toLowerCase()、 toUpperCase()
大小写转化

let str = 'yeah'
undefined
str.toLocaleLowerCase()
'yeah'
str.toLocaleUpperCase()
'YEAH'

在这里插入图片描述

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

chatAt()
indexOf()
startWith()
includes()

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

let str = '123456789'
undefined
str.charAt(2)
'3'

在这里插入图片描述

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

let str = '123456789'
undefined
str.indexOf(5)
4
str.indexOf(10)
-1

在这里插入图片描述
startWith()、includes()
从字符串中搜索传入的字符串,并返回一个表示是否包含的布尔值

let str = '123456789'
undefined
str.includes('5')
true
str.includes('10')
false
str.startsWith('5')
false
str.startsWith('1')
true

在这里插入图片描述
二、转换方法

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

let str = '123-456-789'
undefined
str.split('-')
(3) ['123', '456', '789']

在这里插入图片描述
三、模板匹配方法
针对正则表达式,字符串设计了几个方法:

match()
search()
replace()

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

let str = 'cat, bat, sat, fat'
undefined
let pattern = /.at/
undefined
str.match(pattern)
['cat', index: 0, input: 'cat, bat, sat, fat', groups: undefined]
let value = str.match(pattern)
undefined
value[0]
'cat'

在这里插入图片描述

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

let str = 'cat, bat, sat, fat'
undefined
let pos = str.search(/at/)
undefined
pos
1
str.search(/at/g)
1
str.search(/ot/)
-1

在这里插入图片描述
replace()
接收两个参数,第一个参数为匹配的内容,第二个参数为替换的元素(可用函数)

let str = 'cat, bat, sat, fat'
undefined
str.replace('at','allen')
'callen, bat, sat, fat'
str.replace(/at/g,'yeah')
'cyeah, byeah, syeah, fyeah'

在这里插入图片描述

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

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

相关文章

Python实战基础9-元组、字典、集合

一、元组 Python的元组与列表类似,不同职称在于元组的元素不能修改。元组使用(),列表使用[]。 Python的元组与列表类似,不同之处在于元组的元素不能修改(增删改), 元组使用小括号()…

VuePress 1.x 踩坑记录

文章目录 前言1.Node.js 版本问题2.侧边栏3.添加页面目录导航4.非首页 footer 不生效5.部署到 Github 的错误vuepress 的 docs 与 Github Pages 的 docs 目录冲突样式丢失 7.资源引用问题本地图片找不到引用 CSDN 图片报 403 错误 参考文献 前言 我的第二本开源电子书《后台开…

被问了100遍的 堆的基本功能如何实现? 绝了!!!

文章目录 堆的介绍堆的概念堆的结构 堆的向下调整算法建堆的时间复杂度 堆的向上调整算法堆的基本功能实现初始化堆打印堆堆的插入堆的删除获取堆顶的数据获取堆的数据个数堆的判空销毁堆 堆的介绍 堆的概念 堆:如果有一个关键码的集合K{k0,k1,k2,…,kn-1}&#x…

计算机图形学-GAMES101-9

前言 材质和光的相互作用很重要。VertexShader和FragmentShader。纹理贴图Texture mapping。 一、在三角形中插值 为什么要在三角形内部插值?虽然我们的操作很多是在三角形顶点上进行计算的,但是对于三角形内部我们也希望每个像素点能得到一个值&…

FLASH锁死,STLink烧程序烧完一次无法再烧?

ST烧程序烧完一次无法再烧,因为把烧录引脚占用,所以可以再配置一下。 (平时不勾PA13和PA14,也是会通过PA13和PA14烤录,勾上是为了防止锁死FLASH) 如果锁住,再烧烧不进去 卡点,按住复…

【踩坑无数终极0错版】mac-Parallels Desktop的windwos虚拟机安装最新夜神模拟器+burpsuite证书安装+app渗透

文章目录 前言一、安装夜神模拟器二、夜神模拟器配置三、安装证书与所需软件四、测试抓包总结 前言 不想说了,反正我吐了,直接看正文吧。 提示:以下是本篇文章正文内容,下面案例可供参考 一、安装夜神模拟器 mac上是安装不成功…

Spring6新特性来了!便捷替代Feign封装RPC接口

spring6的新特性笔者最近也有在研究,其中在HttpServiceProxyFactory服务代理工厂的使用方式体验上,笔者认为极其像是在用Feign编写RPC接口,使用服务代理工厂我们只要在全局配置单例的服务代里工厂bean再维护一个http interface接口就能统一的…

跨域跨网访问延迟高?中科三方云解析智能线路提供最优解析方案

在日常工作生活中,大多数人都是直接通过域名访问web服务器,但计算机并不能直接识别域名,因此需要域名系统(DNS,Domain Name System)将域名翻译成可由计算机直接识别的IP地址,这个环节就是域名解…

MOSFET开关:电源变换器基础知识及应用

​MOSFET是一种常用的场效应晶体管,广泛应用于电源变换器中。电源变换器是一种将输入电源转换为输出电源的电路,通常用于电子设备中。在本文中,我们将介绍MOSFET开关及其在电源变换器中的基础知识和应用。 一、MOSFET开关的基础知识 MOSFET…

MySQL---单列索引(包括普通索引、唯一索引、主键索引)、组合索引、全文索引。

1. 索引 索引是通过某种算法,构建出一个数据模型,用于快速找出在某个列中有一特定值的行,不使用索 引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的 时间…

算法之单调栈常见题目

什么时候需要使用单调栈? 通常是一维数组,要寻找任意一个右边或者左边第一个比自己大或小的元素的位置,此时我们就想到可以使用单调栈了。 单调栈的本质是空间换时间,因为在遍历的过程中需要用一个栈来记录右边第一个比当前元素高…

电轨车运维作业vr实操培训平台训练一批高素质的维修型人才

卡车由于使用频繁、长期载重以及各种不可预测的外界作业技能人员的培训。基于web3d开发的卡车检修作业3d模拟仿真教学系统弥补了教学条件的不足,在提升培训效果、节省教学经费上有显著的作用。 深圳华锐视点研发的卡车检修作业3d模拟仿真教学系统实时动态展示三维仿…

GNN 学习记录

GNN 参考资料:https://www.bilibili.com/video/BV16v4y1b7x7 图网络为什么复杂 需要接受任意尺寸的输入没有固定的节点顺序和参考锚点(比如文本是从前往后处理,图像是有像素点的,图没有起始点)动态变化和多种模态的…

月入3000万,23岁美国女网红用AI分身交1000多男友!谈恋爱按分钟计费

来源 | 新智元 微信号:AI-era 【导读】这位23岁的女网红用GPT-4复刻了一个自己后,已经周入7万多美元了。不仅如此,短短几天内,候补名单上就排了差不多1万名男施主。 各种逼真的AI工具火了之后,各路心思活泛的选手都开…

Spring Boot 项目【前后端分离】 之架子搭建

Spring Boot 项目【前后端分离】 之架子搭建 注意如果看过我ssm项目的博客的项目的前端可以不需要看或者快速看一下即可 比较页面什么的一样主要是技术栈不同. 技术栈 - 使用了前后端分离,前端的主体框架Vue3+后端的基础框架Spring-Boot 1.前端技术栈…

SQL: STUFF()和FOR XML PATH的使用

STUFF(param1, startIndex, length, param2) 将param1中自startIndex(SQL中都是从1开始,而非0)起,删除length个字符,然后用param2替换删掉的字符。 示例: select STUFF(abcdefg,1,0,1234) --结果为1234abcdefg select ST…

每日一题163——矩阵置零

给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]] 示例 2: 输入&…

Docker与Docker-compose安装Vulfocus Vulhub漏洞环境

目录 一.docker 和 docker-compose 介绍: docker: docker-compose: 二者的区别: 二者的联系: 二者的总结: 二.Centos 7安装Docker 三.Centos 7安装docker-compose 四.docker-compose搭建Vulhub漏…

Linux安装MySQL后无法通过IP地址访问处理方法

本文主要总结Linux安装Mysql后,其他主机访问不了MySQL数据库的原因和解决方法 环境说明: MySQL 5.7.30CentOS Linux release 7.6.1810 (Core) 创建完Mysql数据库后可以查看mysql 日志获取root 用户登录密码 [rootlocalhost mysql-5.7.30]# cat /var/l…

2 机器学习知识 Softmax回归 deep learning system

机器学习算法的三个主要部分 The hypothesis class: 模型结构loss fuction 损失函数An optimization method:在训练集上减小loss的方法 多分类问题 训练数据: x ( i ) ∈ R n , y ( i ) ∈ 1 , . . . , k f o r i 1 , . . . m x^{(i)}\in \mathbb{R}…