javascript中字符串处理,常用的方法汇总

在这里插入图片描述

✨✨ 欢迎大家来到景天科技苑✨✨

🎈🎈 养成好习惯,先赞后看哦~🎈🎈

所属专栏:前端泛海
景天的主页:景天科技苑

文章目录

  • 字符串对象的的相关方法
    • 1.获取字符串长度 length
    • 2.通过索引获取元素 charAt 不支持负下标 第几个位置的字符
    • 3.charCodeAt() 拿到字符串对应字母的ASCII的编码
    • 4.清除两侧的空白 trim()
    • 5.获取首次出现的位置 indexOf
    • 6.最后一次出现的位置 lastIndexOf
    • 7.连接字符串concat
    • 8.截取字符串 slice 只能正向截取。没有步长。加上也不报错
    • 9.截取字符串 substr
    • 10.拆分字符串 split
    • 11.大小写 toUpperCase toLowerCase
    • 12.search 匹配第一次找到的索引位置,找不到返回-1 匹配字符串要带上双斜线
    • 13.match 返回匹配的数据
    • 14.字符串替换 replace

字符串对象的的相关方法

点赞收藏关注不迷路哦,有需要时直接回来直接用。

虽然 JavaScript 有很多用处,但是处理字符串是其中最流行的一个。下面让我们深入地分析一下使用 JavaScript 操作字符串。
在 JavaScript 中, String 是对象。 String 对象并不是以字符数组的方式存储的,所以我们必须使用内建函数来操纵它们的值。这些内建函数提供了不同的方法来访问字符串变量的内容。下面我们详细看一下这些函数。
操作字符串的值是一般的开发人员必须面临的家常便饭。操作字符串的具体方式有很多,比如说从一个字符串是提取出一部分内容来,或者确定一个字符串是否包含一个特定的字符。
下面景天就 JavaScript 字符串处理相关函数做深入讲述:

1.获取字符串长度 length

var string = "to be or not to be";var res = string.length
var res = string[-1]
console.log(res)

2.通过索引获取元素 charAt 不支持负下标 第几个位置的字符

var string = "to be or not to be";
var res = string.charAt(3)
console.log(res)

在这里插入图片描述

也可以直接通过string[3]下标获取

3.charCodeAt() 拿到字符串对应字母的ASCII的编码

在这里插入图片描述
在这里插入图片描述

如果字符串中是中文,拿到的是Unicode码
在这里插入图片描述
在这里插入图片描述

字符串进行加密的时候,中文不太好加密,我们可以通过Unicode码进行数学运算,进行加密
通过String.fromCharCode(20013) 还原成中文
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4.清除两侧的空白 trim()

var res = string.trim()
console.log(string)
console.log(res)

在这里插入图片描述

在这里插入图片描述

5.获取首次出现的位置 indexOf

 /*找不到返回-1*/
var string = "to be or not to be";
var res = string.indexOf("z")
console.log(res)

在这里插入图片描述

找不到返回-1
在这里插入图片描述

找到,返回索引下标
在这里插入图片描述
在这里插入图片描述

6.最后一次出现的位置 lastIndexOf

/*找不到返回-1*/
var res = string.lastIndexOf("zzz")
console.log(res);

找到第一个字母最后出现的下标
在这里插入图片描述
在这里插入图片描述

7.连接字符串concat

var res = string.concat("d:\\","python32\\","day42");
console.log(res);

在这里插入图片描述
在这里插入图片描述

8.截取字符串 slice 只能正向截取。没有步长。加上也不报错

/* string.slice(开始值,结束值) 字符串的切片  留头舍尾  [支持逆向下标]*/
var string = "11122233e or not to be";
var res = string.slice(1,7);
var res = string.slice(-5,-1);      // to b
// var res = string.slice(-5,-10); //截取不到返回空
console.log(res,"<==1==>")

截取,取头舍尾,只能正向截取,逆向截取,获取不到
在这里插入图片描述
在这里插入图片描述

不支持逆向截取
在这里插入图片描述
在这里插入图片描述

9.截取字符串 substr

/* string.substr(开始值,截取几个) */
var string = "11122233e or not to be";
var res = string.substr(3,4)
console.log(res,"<==2==>")

在这里插入图片描述

substring是从中截取一段字符串,在组成一个新的字符串
在这里插入图片描述

截取方式:顾头不顾尾
str.substring(indexA, indexB)
以下标从零开始计数;包含indexA,不包含indexB
如果inde新A与indexB相等,则返回一个空字符串
在这里插入图片描述

其中字符串中的空格也算是一个字符串。

当有一个参数时
str.substring(indexA)
当有一个参数时,就是从indexA往后所有的字符
在这里插入图片描述

如果第二参数是负数,则从零开始计数 如果任一参数小于0或是NaN,它将被视为0。 如果indexStart大于indexEnd,那么效果和被交换一样
str.substring(indexA, indexB)
在这里插入图片描述

includes()
ES6中引入的JavaScript include()方法确定字符串是否包含您传递给该方法的字符。如果字符串包含某些字符,则该方法将返回“ true”。

如果指定的字符串不包含您要查找的字符,则includes()将返回“ false”。

10.拆分字符串 split

var string = "11122233e or not to be";
var res = string.split(" ")
console.log(res,"<==3==>")

返回数组
在这里插入图片描述

11.大小写 toUpperCase toLowerCase

var string = "11122233e Or noT tO be";
res = string.toUpperCase();
res = string.toLowerCase();
console.log(res,"<==4==>")

转换成大写
在这里插入图片描述
在这里插入图片描述

12.search 匹配第一次找到的索引位置,找不到返回-1 匹配字符串要带上双斜线

var string = "aaabbb oldaoy ccc"
var res = string.search(/oldboy/)
console.log(res,"<==5==>")

返回第一个字母出现的下标
在这里插入图片描述
在这里插入图片描述

13.match 返回匹配的数据

/* /正则表达式/修饰符 g:全局匹配 i:不区分大小写 m:多行匹配  */
var string = "我的电话是 : 13838384388 你的电话是: 13854381438"
var res = string.match(/\d{11}/);  // 匹配一个
var res = string.match(/\d{11}/g); // 匹配多个,(需要修饰符加上g)
console.log(res)
console.log(res[0])
console.log(res[1])

返回的是数组。不加g匹配第一个后,就不再匹配。res[1]没匹配到,打印出undefined
在这里插入图片描述

加上g后,全量匹配,都可以匹配到
在这里插入图片描述
在这里插入图片描述

14.字符串替换 replace

/* replace默认只替换一次 */
var string = "to be or not to be";
var res = string.replace("to","two")
console.log(res,"<==6==>")    

默认只替换一次,替换第一个
在这里插入图片描述
在这里插入图片描述

替换所有的方法

方法一:

function myreplace(string,a,b){/*找最后一个to,如果找不到返回-1如果能找到就不停的进行替换,直到-1为止,循环终止;*/while(string.lastIndexOf(a) != -1){console.log(1)string = string.replace(a,b);}return string;
}     
var string = "to be or not to be";   
var res = myreplace(string,"to","two")
console.log(res) // two be or not two be

循环替换完成,1前面的2表示循环跑了2次
在这里插入图片描述

方法二,在要被替换的字符串后面加g,表示全量替换

var string = "to be or not to be";
var res = string.replace(/to/g,"two");
console.log(res)

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HyperAI超神经 x DT新材料丨AI技术在化学与材料科学科研中应用研讨会开启报名

人工智能 (AI)是近年来发展最快的领域之一&#xff0c;其在科研领域显示出巨大潜力与争议。AI 可以通过自动化分析和处理数据&#xff0c;提高研究效率、减少人为误差、挖掘出更深层次的知识&#xff0c;现在的研究者可以大幅减少搜索和阅读文献所花费的精力&#xff0c;可以以…

如何在Win系统本地部署Jupyter Notbook交互笔记并结合内网穿透实现公网远程使用

文章目录 1.前言2.Jupyter Notebook的安装2.1 Jupyter Notebook下载安装2.2 Jupyter Notebook的配置2.3 Cpolar下载安装 3.Cpolar端口设置3.1 Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 在数据分析工作中&#xff0c;使用最多的无疑就是各种函数、图表、…

vulhub中ThinkPHP 多语言本地文件包含漏洞复现

ThinkPHP是一个在中国使用较多的PHP框架。在其6.0.13版本及以前&#xff0c;存在一处本地文件包含漏洞。当多语言特性被开启时&#xff0c;攻击者可以使用lang参数来包含任意PHP文件。 虽然只能包含本地PHP文件&#xff0c;但在开启了register_argc_argv且安装了pcel/pear的环…

PostgreSQL开发与实战(6.2)体系结构2

作者&#xff1a;太阳 二、逻辑架构 graph TD A[database] -->B(schema) B -->C[表] B -->D[视图] B -->E[触发器] C -->F[索引] tablespace 三、内存结构 Postgres内存结构主要分为 共享内存 与 本地内存 两部分。共享内存为所有的 background process提供内…

Intellij IDE 中复制多个服务

Intellij IDE 中复制多个服务 添加此选项 选择启动的端口和运行时的环境 之后就可以了。

Linux——进程间通信

目录 进程间通信介绍 什么是进程间通信 为什么要进行进程间通信 怎么做到进程间通信 管道 管道的原理 匿名管道 pipe函数 简单线程池 管道读写的规则 命名管道 创建一个管道文件 在代码中创建管道 在代码中删除管道 命名管道实现serve与client通信 system V共享…

3、Redis Cluster集群运维与核心原理剖析

Redis集群方案比较 哨兵模式 在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态&#xff0c;如果master节点异常&#xff0c;则会做主从切换&#xff0c;将某一台slave作为master&#xff0c;哨兵的配置略微复杂&#xff0c;并且性能和高可用性…

如何理解Redis中的缓存雪崩,缓存穿透,缓存击穿?

目录 一、缓存雪崩 1.1 解决缓存雪崩问题 二、缓存穿透 2.1 解决缓存穿透 三、缓存击穿 3.1 解决缓存击穿 3.2 如何保证数据一致性问题&#xff1f; 一、缓存雪崩 缓存雪崩是指短时间内&#xff0c;有大量缓存同时过期&#xff0c;导致大量的请求直接查询数据库&#xf…

VS2022打包C#安装包(最新、最全)

开发c#的一个小工具到打包环境碰壁了&#xff0c;在网上找了很多资料耶踩了很多坑&#xff0c;耗时1hour才打包完毕&#xff0c;避免以后碰到类似的问题再次记录&#xff0c;自认为步骤比较全面&#xff0c;如果有帮助麻烦点个赞呗&#xff01;&#xff01;&#xff01; 一、Mi…

【异常处理】BadSqlGrammarException低级SQL语法异常

报错 org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use …

极狐GitLab 如何设置 Markdown 中的图片大小

GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署极狐GitLab。 使用极狐GitLab 进行代码托管或者 CI/CD&#xff0c;都避免不了…

奔跑不息的鞋履行业再迎分化,百丽时尚逆势而上?

新事物的诞生带来新生机的同时&#xff0c;从来也都是伴有腥风血雨的。 就如&#xff0c;互联网电商之于服装鞋履新零售。 据悉&#xff0c;近日鞋履业头部之一的千百度在历经多次转型失败后&#xff0c;最终还是走上了“老大哥”百丽时尚的老路——退市进行私有化转型。此外…