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)

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

让娃学习效率更高的“可视化”时间管理器

如果要问&#xff0c;老母亲在娃开学后&#xff0c;蕞着急孩子哪一种坏习惯&#xff0c;那时间管理肯定榜上有名&#xff01; 做作业的时候&#xff0c;才写了5分钟&#xff0c;已经没有耐心了&#xff0c;东摸摸西看看&#xff0c;一会说肚子疼想上厕所&#xff0c;一会又拿出…

Linux中线程的实现,线程的接口相关函数pthread_create、pthread_join、pthread_exit

目录 一.线程的概念 二.操作系统中线程的实现 三.Linux中线程的实现 四.进程与线程的区别 五.线程的接口相关函数 5.1 pthread_create 5.2 pthread_join 5.3 pthread_exit 六.代码演示 七.如何解决上述问题&#xff1f; 方案1. 方案2. 方案3. 一.线程的概念 进程是…

【数据结构】矩阵的压缩存储

矩阵的压缩存储 5.1 普通矩阵的存储 用二维数组存储 分为行优先和列优先&#xff1a; 行优先&#xff1a;优先存放一行的数据。 列优先&#xff1a;优先存放一列的数据。 注意下标是从0还是1开始的&#xff01; 5.2 对称矩阵的存储 对称矩阵定义 若n阶方阵中任意一个元素 a i …

Allure小白下载安装

1、下载官网地址&#xff1a;https://github.com/allure-framework/allure2/releases 2、下载安装包后需要解压到一个非中文名称路径下 3、配置环境变量 D:\Allure\allure-2.27.0\bin 我的电脑右键选择属性&#xff0c;高级系统设置&#xff0c;环境变量 4、CMD查看安装all…

Java | Java的输入与输出

文章目录 Java输出1、System.out.println()2、System.out.printf()3、System.out.print() Java输入1、使用Scanner类的对象获取输入&#xff08;1&#xff09;一般类型输入&#xff08;2&#xff09;字符串类型输入&#xff08;3&#xff09;char类型输入 2、使用System.in.rea…

挑战杯 基于深度学习的目标检测算法

文章目录 1 简介2 目标检测概念3 目标分类、定位、检测示例4 传统目标检测5 两类目标检测算法5.1 相关研究5.1.1 选择性搜索5.1.2 OverFeat 5.2 基于区域提名的方法5.2.1 R-CNN5.2.2 SPP-net5.2.3 Fast R-CNN 5.3 端到端的方法YOLOSSD 6 人体检测结果7 最后 1 简介 &#x1f5…

Android APP性能指标(二)

文章目录 一、响应时间1.1 数据获取1.2 响应时间指标测试点1.3 启动速度测试点1.4 响应时间测试解决方法 二、流量2.1 数据获取2.2 流量测试关注点2.3 测试标准 三、电量3.1 连接手机3.2 数据获取3.3 获取APP的UID3.3 重置电池数据收集数据3.4 电量指标测试 四、温度五、性能测…

Pyaudio的安装以及报错解决

Pyaudio是一个可以用麦克风录入声音的库&#xff0c;但我在安装时发现无论是在cmd中pip安装还是在Pycharm中安装&#xff0c;都会报一堆错误。因此写一篇我最终的解决方案&#xff0c;我的解决办法是采用离线安装的方式&#xff0c;安装pyaudio库。 一.下载离线安装包 离线安…

超详细——动态内存分配+柔性数组

☃️个人主页&#xff1a;fighting小泽 &#x1f338;作者简介&#xff1a;目前正在学习C语言和数据结构 &#x1f33c;博客专栏&#xff1a;C语言学习 &#x1f3f5;️欢迎关注&#xff1a;评论&#x1f44a;&#x1f3fb;点赞&#x1f44d;&#x1f3fb;留言&#x1f4aa;&am…

意外之失:不小心删除的文件如何寻回?

一、瞬间消失的珍贵记忆 在我们的日常电脑使用中&#xff0c;总有一些时刻让人心惊胆战——那就是不小心删除了重要的文件。或许是一个珍藏多年的照片集&#xff0c;或许是一个即将完成的项目文档&#xff0c;这些文件承载着我们的回忆、努力和成果&#xff0c;却在一次疏忽之…

文本溢出隐藏 显示省略号,鼠标悬浮展示 el-tooltip(TooltipIsShowMixin封装)

目录 mixins 封装使用 TooltipIsShowMixin效果展示 mixins 封装 TooltipIsShowMixin.js export const TooltipIsShowMixin {data() {return {tooltipIsShow: false}},methods: {tooltipIsDisHandler(className) {this.$nextTick(() > {const dom document.querySelector…

m4a是什么文件格式?音质是无损吗?

m4a文件格式作为一种音频文件格式&#xff0c;源于MPEG-4标准的制定&#xff0c;该标准致力于提供高效的多媒体编解码方案。通常使用AAC编码&#xff0c;可以提供高质量的音频&#xff0c;但不是无损格式。AAC是一种有损压缩格式&#xff0c;它能够在减小文件大小的同时保持相对…

Jenkins 部署 RuoYi

目录 1、项目介绍 2、部署若依 clone 源代码 导入数据库到 node-16 修改 RuoYi 配置文件 推送 RuoYi 项目至 Gitlab 3、配置 Jenkins 配置本地 Maven Jenkins 配置 Maven 新建 Maven 项目 编写构建后的脚本 Jenkins 构建后执行脚本 4、Jenkins 传递参数 设置项目部…

Linux:kubernetes(k8s)探针的简介(7)

相当于我们用于监控容器的一个东西&#xff0c;通过给我们的不同探针来判断容器内的状态情况&#xff0c;实现故障的一个自动恢复。 我们在上一章的yaml文件中写入了一个这个东西 那么他什么情况下重启&#xff0c;就是通过探针进行一个监控&#xff0c;加入监控某一个端口&…

element多选框select下拉框数据回显的问题value.push is not a function

文章目录 问题描述 问题描述 今天在使用Element UI el-select组件遇到了一个问题&#xff0c;如下图&#xff1a; 下拉框里的值选中了&#xff0c;但是文本框里没有值 这是 el-select组件代码,我这里是用了一个多选框&#xff0c;options的值是在后端查询的&#xff0c;form.we…

利用MATLAB模拟点电荷的电场分布

一、实验目的&#xff1a; 1&#xff0e;熟悉点电荷的电场分布情况&#xff1b; 2&#xff0e;学会使用Matlab绘图&#xff1b; 二、实验内容&#xff1a; 1&#xff0e;根据库伦定律&#xff0c;利用Matlab强大的绘图功能画出单个点电荷的电场分布情况&#xff0c;包括电力…

虚拟化之内存(Memory)

一 内存的查看方式 free -k/m/h cat /proc/meminfodmesg |grep memory free命令的实质是根据meminfo中的文件来提取信息 二 内存虚拟化 1.概念&#xff1a;由于物理MMU只能通过Host机的物理地址进行寻址&#xff0c;所以实现内存虚拟化&#xff0c;关键是需要将Guest机的…

⭐每天一道leetcode:58.最后一个单词的长度(简单;istringstream;遍历查看)

⭐今日份题目 给你一个字符串 s&#xff0c;由若干单词组成&#xff0c;单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例1 输入&#xff1a;s "Hello World" 输出&#xff1a…

Ubuntu将c++编译成.so文件并测试

一、准备cpp和h文件 创建test.cpp 在cpp中定义相加的函数funcAdd&#xff0c;给出函数的细节代码 #include <iostream> using namespace std;int funcAdd(int x, int y) {return xy; }创建test.h 在h中声明定义的函数&#xff0c;不需要任何细节 #ifndef __TEST__ #…