【JavaScript】图解JS中的字符串方法

💯 欢迎光临清清ww的博客小天地💯

🔥 个人主页:【清清ww】🔥

📚 系列专栏:vue3 | TypeScript 📚

🌟 学习本无底,前进莫徬徨。🌟

 

目录

一.字符串查找

1.length属性

2. indexOf( )方法

3.lastIndexOf()方法

4.search( )方法

二.提取字符串

1.slice( )方法

2.subString( )方法

3.substr( )方法

三.替换字符串内容

replace( )方法

四,大小写转换

1.toUpperCase( )方法

2.toLowerCase( )方法

五.连接字符串

concat( )方法

六.删除两端空白符

trim( )方法

七.提取字符串字符

1.charAt( )方法

2.charCodeAt( )方法

八.把字符串转换为数组

split( )方法


一.字符串查找

1.length属性

字符串长度。从1开始计数。

注意索引是从0开始的,但是长度是从1开始的。

<!DOCTYPE html>
<html>
<body><p id="demo"></p><script>
var txt = "零一二三四五六";
document.getElementById("demo").innerHTML = txt.length; // 输出7
</script></body>
</html>

2. indexOf( )方法

 查找字符串中的字符串,返回第一个匹配项的位置,如果未找到则返回-1

可接受两个参数:待查字符串检索起始位置

<!DOCTYPE html>
<html>
<body><p id="demo"></p><script>
var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China");
document.getElementById("demo").innerHTML = pos; // 输出17
</script></body>
</html>

3.lastIndexOf()方法

返回指定文本在字符串中最后一次出现的索引,如果未找到则返回-1

可接受两个参数:待查字符串检索起始位置

<!DOCTYPE html>
<html>
<body><p id="demo"></p><script>
var str = "The full name of China is the People's Republic of China.";
var pos = str.lastIndexOf("China");
document.getElementById("demo").innerHTML = pos;
</script></body>
</html>

检索起始位置:

<!DOCTYPE html>
<html>
<body><p id="demo"></p><script>
var str = "The full name of China is the People's Republic of China.";
var pos = str.lastIndexOf("China", 50);
document.getElementById("demo").innerHTML = pos; // 输出17
</script></body>
</html>

有意思的是,当我们把索引位置改为“17”,返回的仍旧是“17”而不是“-1” 。因为虽然 "hina" 部分在位置 17 之后,但是完整的子字符串 "China" 在位置 17 处是完全匹配的,所以返回“17”。


4.search( )方法

搜索特定值的字符串,并返回匹配的位置。

<!DOCTYPE html>
<html>
<body><p id="demo"></p><script>
var str = "The full name of China is the People's Republic of China.";
var pos = str.search("China");
document.getElementById("demo").innerHTML = pos; // 输出17
</script></body>
</html>

它和indexOf很像,但两种方法并不完全相等的。

search() 方法无法设置第二个开始位置参数,但可以设置更强大的搜索值(正则表达式)。

<!DOCTYPE html>
<html>
<body><h1>JavaScript 字符串方法</h1><p>search() 方法使用正则表达式来查找字符串中的模式:</p><p id="demo"></p><script>
var str = "Visit W3Schools! Visit Microsoft!";
var n = str.search(/W3Schools/i); // 使用正则表达式,'i' 表示不区分大小写
document.getElementById("demo").innerHTML = n; // 输出6
</script></body>
</html>

二.提取字符串

1.slice( )方法

提取字符串的某个部分,并在新字符串中返回被提取的部分。

接受两个参数(开始位置结束位置

<!DOCTYPE html>
<html>
<body><p id="demo"></p><script>
var str = "Apple,Banana,Mango";
var res = str.slice(6,12);
document.getElementById("demo").innerHTML = res; // 输出Banana
</script></body>
</html>

如果某个参数为,则从字符串的结尾开始计数

原字符串仍然存在且未发生任何改变,只是生成了一个新的字符串。


2.subString( )方法

与slice( )方法类似,但是该方法不能接受负的索引。

<!DOCTYPE html>
<html>
<body><p id="demo"></p><script>
var str = "Apple,Banana,Mango";
var res = str.substring( 0,5);
document.getElementById("demo").innerHTML = res; // 输出Apple
</script></body>
</html>

3.substr( )方法

与slice( )方法类似,但是该方法的第二个参数指的是被提取部分的长度

<!DOCTYPE html>
<html>
<body><p id="demo"></p><script>
var str = "Apple,Banana,Mango";
var res = str.substr(6,6);
document.getElementById("demo").innerHTML = res; // 输出Banana
</script></body>
</html>

如果省略第二个参数,则将从起始位置开始,裁剪字符串的剩余部分。

如果首个参数为负,则从字符串的结尾计算位置。

 


三.替换字符串内容

replace( )方法

用另一个值替换在字符串中指定的值。第一个参数为想取代的值,第二个参数为新值

<!DOCTYPE html>
<html>
<body><p>来客人了,记得把“oldApple”替换为“newApple”:</p><button onclick="myFunction()">点击换新苹果</button><p id="demo">请吃oldApple!</p><script>
function myFunction() {var str = document.getElementById("demo").innerHTML; var txt = str.replace("oldApple","newApple");document.getElementById("demo").innerHTML = txt;
}
</script></body>
</html>

 运行结果:

 

replace( )方法不会改变调用它的字符串。它返回的是新字符串。

(1)默认只替换首个匹配到的

如需替换所有匹配,可以使用正则表达式的 g 标志(用于全局搜索)。注意正则表达式不带引号。

str = "请吃oldApple,oldApple,oldApple";
var n = str.replace(/oldApple/g, "newApple");

 (2)对大小写敏感。

<!DOCTYPE html>
<html>
<body><p>来客人了,记得把“oldApple”替换为“newApple”:</p><button onclick="myFunction()">点击换新苹果</button><p id="demo">请吃oldApple!</p><script>
function myFunction() {var str = document.getElementById("demo").innerHTML; var txt = str.replace("OLDAPPLE","newApple");document.getElementById("demo").innerHTML = txt; // 替换失败
}
</script></body>
</html>

如需执行大小写不敏感的替换,可以使用正则表达式 i(大小写不敏感)。

str = "请吃oldApple";
var n = str.replace(/OLDAPPLE/i, "newApple");

四,大小写转换

1.toUpperCase( )方法

把字符串转换为大写

<!DOCTYPE html>
<html>
<body><p>把字符串转换为大写:</p><button onclick="myFunction()">点击转换为大写</button><p id="demo">Hello World!</p><script>
function myFunction() {var text = document.getElementById("demo").innerHTML;document.getElementById("demo").innerHTML = text.toUpperCase();
}
</script></body>
</html>

运行结果:


2.toLowerCase( )方法

把字符串转换为小写

<!DOCTYPE html>
<html>
<body><p>把字符串转换为小写:</p><button onclick="myFunction()">点击转换为小写</button><p id="demo">HELLO World!</p><script>
function myFunction() {var text = document.getElementById("demo").innerHTML;document.getElementById("demo").innerHTML = text.toLowerCase();
}
</script></body>
</html>

运行结果: 


五.连接字符串

concat( )方法

连接两个或多个字符串

<!DOCTYPE html>
<html>
<body><p>concat() 方法连接两个或多个字符串:</p><p id="demo"></p><script>
var text1 = "Hello";
var text2 = "World!";
var text3 = text1.concat(" ",text2);
document.getElementById("demo").innerHTML = text3;
</script></body>
</html>

 


六.删除两端空白符

trim( )方法

删除字符串两端的空白符

<!DOCTYPE html>
<html>
<body><p>点击这个按钮来输出已删除空白字符的字符串。</p><button onclick="myFunction()">试一试</button><script>
function myFunction() {var str = "     Hello World!     ";alert(str.trim()); // 弹出Hello World!
}
</script></body>
</html>

七.提取字符串字符

1.charAt( )方法

返回字符串中指定下标(位置)的字符串

<!DOCTYPE html>
<html>
<body><p id="demo"></p><script>
var str = "HELLO WORLD";
document.getElementById("demo").innerHTML = str.charAt(0); // 输出H
</script></body>
</html>

2.charCodeAt( )方法

与charAt()类似,只是返回的字符串中指定位置的字符 unicode 编码


八.把字符串转换为数组

split( )方法

把字符串转换为数组

<!DOCTYPE html>
<html>
<body><p>单击“试一试”以显示字符串拆分后的数组。</p><button onclick="myFunction()">试一试</button><p id="demo"></p><script>
function myFunction() {var str = "a,b,c,d,e,f";var arr = str.split(",");document.getElementById("demo").innerHTML = arr;
}
</script></body>
</html>

运行结果:


🚀感谢您的细心品读,完成了这篇关于【JavaScript】图解JS中的字符串方法 的旅程。 🚀

🎉 您的每一个鼓励都是我不断更新的动力,不要忘记点赞收藏🎉

🔍 期待与您一同深入前端技术的海洋,共同探索那些未知的宝藏,揭开Web开发的层层迷雾。🔍

🌟 🌈 感恩您的支持与同行,愿我们的前端征途越走越远!🌈 🌟

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

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

相关文章

ffmpeg视频滤镜:替换部分帧-freezeframes

滤镜描述 freezeframes 官网地址 > FFmpeg Filters Documentation 这个滤镜接收两个输入&#xff0c;然后会将第一个视频中的部分帧替换为第二个视频的某一帧。 滤镜使用 参数 freezeframes AVOptions:first <int64> ..FV....... set first fra…

云计算-华为HCIA-学习笔记

笔者今年7月底考取了华为云计算方向的HCIE认证&#xff0c;回顾从IA到IE的学习和项目实战&#xff0c;想整合和分享自己的学习历程&#xff0c;欢迎志同道合的朋友们一起讨论&#xff01; 第三章&#xff1a;常见设备 交换机 二层交换机和三层交换机&#xff0c;所谓二层交换机…

问题记录-Java后端

问题记录 目录 问题记录1.多数据源使用事务注意事项&#xff1f;2.mybatis执行MySQL的存储过程&#xff1f;3.springBoot加载不到nacos配置中心的配置问题4.服务器产生大量close_wait情况 1.多数据源使用事务注意事项&#xff1f; 问题&#xff1a;在springBoot项目中多表处理数…

瑞派宠物医生 | 热爱与实践交织,专注宠物口腔健康

热爱与实践交织的兽医梦 瑞派上海乔登宠物医院院长陈德举自小便与赛鸽结下了不解之缘&#xff0c;家族中饲养赛鸽的传统不仅让他对鸟类产生了浓厚的兴趣&#xff0c;更在心中埋下了成为一名兽医的种子。在面临高考这一人生重要抉择时&#xff0c;他毫不犹豫地选择了兽医专业&am…

【AIGC】如何准确引导ChatGPT,实现精细化GPTs指令生成

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | 提示词Prompt应用实例 文章目录 &#x1f4af;前言&#x1f4af;准确引导ChatGPT创建爆款小红书文案GPTs指令案例&#x1f4af; 高效开发GPTs应用的核心原则明确应用场景和目标受众构建多样化风格模板提问与引…

json格式数据集转换成yolo的txt格式数据集

这个代码是参考了两个博客 我是感觉第一篇博客可能有问题&#xff0c;然后自己做了改进&#xff0c;如果我是错误的或者正确的&#xff0c;请各位评论区说一下&#xff0c;感谢 Json格式的数据集标签转化为有效的txt格式(data_coco)_train.json-CSDN博客 COCO&#xff08;.j…

Ajax学习笔记,第一节:语法基础

Ajax学习笔记&#xff0c;第一节&#xff1a;语法基础 一、概念 1、什么是Ajax 使用浏览器的 XMLHttpRequest 对象 与服务器通信2、什么是axios Axios是一个基于Promise的JavaScript库&#xff0c;支持在浏览器和Node.js环境中使用。相较于Ajax&#xff0c;Axios提供了更多…

【ONE·基础算法 || 动态规划(二)】

总言 主要内容&#xff1a;编程题举例&#xff0c;熟悉理解动态规划类题型&#xff08;子数组、子序列问题&#xff09;。                文章目录 总言5、子数组问题&#xff08;数组中连续的一段&#xff09;5.1、最大子数组和&#xff08;medium&#xff09;5.1.…

数据库相关学习杂记-事务

ARIES&#xff08;基于语义的恢复与隔离算法&#xff09;是现代数据库理论的基础。提供了解决ACID中A、I、D重要的解决思路。 基础知识 这里先复习一下关于ACID的含义以及数据库隔离级别&#xff1a; ACID的含义 原子性&#xff08;Atomicity&#xff09;: 一个事务中被视为…

2024 java大厂面试复习总结(一)(持续更新)

10年java程序员&#xff0c;2024年正好35岁&#xff0c;2024年11月公司裁员&#xff0c;记录自己找工作时候复习的一些要点。 java基础 hashCode()与equals()的相关规定 如果两个对象相等&#xff0c;则hashcode一定也是相同的两个对象相等&#xff0c;对两个对象分别调用eq…

Python绘制太极八卦

文章目录 系列目录写在前面技术需求1. 图形绘制库的支持2. 图形绘制功能3. 参数化设计4. 绘制控制5. 数据处理6. 用户界面 完整代码代码分析1. rset() 函数2. offset() 函数3. taiji() 函数4. bagua() 函数5. 绘制过程6. 技术亮点 写在后面 系列目录 序号直达链接爱心系列1Pyth…

mfc100u.dll是什么?分享几种mfc100u.dll丢失的解决方法

mfc100u.dll 是一个动态链接库&#xff08;DLL&#xff09;文件&#xff0c;属于 Microsoft Foundation Classes (MFC) 库的一部分。MFC 是微软公司开发的一套用于快速开发 Windows 应用程序的 C 类库。mfc100u.dll 文件包含了 MFC 库中一些常用的函数和类的定义&#xff0c;这…

【JavaEE】Servlet:表白墙

文章目录 一、前端二、前置知识三、代码1、后端2、前端3、总结 四、存入数据库1、引入 mysql 的依赖&#xff0c;mysql 驱动包2、创建数据库数据表3、调整上述后端代码3.1 封装数据库操作&#xff0c;和数据库建立连接3.2 调整后端代码 一、前端 <!DOCTYPE html> <ht…

WebRTC音视频同步原理与实现详解(上)

第一章、RTP时间戳与NTP时间戳 1.1 RTP时间戳 时间戳&#xff0c;用来定义媒体负载数据的采样时刻&#xff0c;从单调线性递增的时钟中获取&#xff0c;时钟的精度由 RTP 负载数据的采样频率决定。 音频和视频的采样频率是不一样的&#xff0c;一般音频的采样频率有 8KHz、…

蓝桥杯每日真题 - 第21天

题目&#xff1a;(空间) 题目描述&#xff08;12届 C&C B组A题&#xff09; 解题思路&#xff1a; 转换单位&#xff1a; 内存总大小为 256MB&#xff0c;换算为字节&#xff1a; 25610241024268,435,456字节 计算每个整数占用空间&#xff1a; 每个 32 位整数占用…

利用Python爬虫获得1688按关键字搜索商品:技术解析

在电商领域&#xff0c;1688作为中国领先的B2B电商平台&#xff0c;其商品搜索功能对于商家来说具有极高的价值。通过获取搜索结果&#xff0c;商家可以更好地了解市场趋势&#xff0c;优化产品标题&#xff0c;提高搜索排名。本文将介绍如何使用Python编写爬虫&#xff0c;以获…

三、计算机视觉_05MTCNN人脸检测

0、人脸识别流程概述 人脸识别流程包括两个主要步骤&#xff1a; Step1&#xff1a;人脸检测&#xff0c;确保我们处理的是正确的人脸区域 Step2&#xff1a;身份识别&#xff0c;确定该人脸的身份 0.1 人脸检测 人脸检测是从图像中定位人脸并抠出人脸区域的过程&#xff…

「Chromeg谷歌浏览器/Edge浏览器」篡改猴Tempermongkey插件的安装与使用

1. 谷歌浏览器安装及使用流程 1.1 准备篡改猴扩展程序包。 因为谷歌浏览器的扩展商城打不开&#xff0c;所以需要准备一个篡改猴压缩包。 其他浏览器只需打开扩展商城搜索篡改猴即可。 没有压缩包的可以进我主页下载。 也可直接点击下载&#xff1a;Chrome浏览器篡改猴(油猴…

STM32F103C8T6实时时钟RTC

目录 前言 一、RTC基本硬件结构 二、Unix时间戳 2.1 unix时间戳定义 2.2 时间戳与日历日期时间的转换 2.3 指针函数使用注意事项 ​三、RTC和BKP硬件结构 四、驱动代码解析 前言 STM32F103C8T6外部低速时钟LSE&#xff08;一般为32.768KHz&#xff09;用的引脚是PC14和PC…

【JavaEE初阶】多线程初阶下部

文章目录 前言一、volatile关键字volatile 能保证内存可见性 二、wait 和 notify2.1 wait()方法2.2 notify()方法2.3 notifyAll()方法2.4 wait 和 sleep 的对比&#xff08;面试题&#xff09; 三、多线程案例单例模式 四、总结-保证线程安全的思路五、对比线程和进程总结 前言…