split()分割字符串【JavaScript】

分割字符串
在JavaScript中,我们可以使用split( )方法把一个字符串分割成一个数组
这个数组存放的是原来字符串的所有字符片段。
有多少个片段,数组元素个数就是多少。

语法

字符串名.split("分割符"

说明
分割符可以是一个字符、多个字符或一个正则表达式。
此外,分割符不作为返回的数组元素的一部分。
有点难理解?我们还是先来看一个例子。

举例

<!DOCTYPE html>
<html>
<head><meta charset="utf-8" /><title></title><script>var str="HTML,CSS,JavaScript";var arr=str.split(",";document.write("数组第1个元素是:"+arr[0]+"<br/>";document.write("数组第2个元素是:"+arr[1]+"<br/>";document.write("数组第3个元素是:"+arr[2];</script>
</head>
<body>
</body>
</html>

浏览器预览效果如下图所示。
在这里插入图片描述
分析
str.split(“,”)表示使用英文逗号作为分割符来分割str这个字符串,
结果会得到一个数组:[“HTML”,“CSS”,“JavaScript”],
我们把这个数组赋值给变量arr保存起来。

可能有人会问:为什么分割字符串之后,系统会把这个字符串转换成一个数组?
这是因为转换成数组之后,我们就能使用数组的方法来更好地进行操作。

上面的这个例子,也可以使用for循环来输出,实现代码如下。

var str="HTML,CSS,JavaScript";
var arr=str.split(",");
for(var i=0; i < arr.length; i++)
{document.write("数组第"+(i+1)+"个元素是:"+arr[i]+"<br/>");
}

举例:str.split(" ")(有空格)

<!DOCTYPE html>
<html>
<head><meta charset="utf-8" /><title></title><script>var str="I love javascript";var arr=str.split(" ";document.write("数组第1个元素是:"+arr[0]+"<br/>";document.write("数组第2个元素是:"+arr[1]+"<br/>";document.write("数组第3个元素是:"+arr[2];</script>
</head>
<body>
</body>
</html>

浏览器预览效果如下。

数组第1个元素是:I
数组第2个元素是:love
数组第3个元素是:javascript

分析
str.split(" ")表示用空格来分割字符串。在字符串中,空格也是作为一个字符来处理的。

str.split(" “)的两个引号之间是有一个空格的。str.split(” “)(有空格)是带有1个字符的字符串。str.split(”")(无空格)是带有0个字符的字符串,也叫空字符串。两者是不一样的,我们可以通过下面这个例子来对比理解。

举例:str.split(“”)(无空格)

<!DOCTYPE html>
<html>
<head><meta charset="utf-8" /><title></title><script>var str="ABCD";var arr=str.split("";document.write("数组第1个元素是:"+arr[0]+"<br/>";document.write("数组第2个元素是:"+arr[1]+"<br/>";document.write("数组第3个元素是:"+arr[2]+"<br/>";document.write("数组第4个元素是:"+arr[3]+"<br/>";</script>
</head>
<body>
</body>
</html>

浏览器预览效果如下:

数组第1个元素是:A
数组第2个元素是:B
数组第3个元素是:C
数组第3个元素是:D

分析
注意,split(" “)和split(”")是不一样的。前者两个引号之间有空格,表示用空格作为分割符来分割。后者两个引号之间没有空格,可以用来分割字符串的每一个字符。这个技巧非常棒,也用得很多,小伙伴们可以记一下。

实际上,split( )方法有两个参数:第1个参数表示分割符,第2个参数表示获取“分割之后的前n个元素”。第2个参数我们很少用,了解一下即可。

举例

<!DOCTYPE html>
<html>
<head><meta charset="utf-8" /><title></title><script>var str="2023-07-01-18-30";var arr=str.split("-",3;document.write(arr);</script>
</head>
<body>
</body>
</html>

浏览器预览效果如下

2023,07,01

最后,数组join( )方法一般都是配合字符串的split( )方法来使用的。

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

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

相关文章

【Vue3】学习笔记-shallowReactive与ShallowRef

shallowReactive&#xff1a;只处理对象最外层属性的响应式&#xff08;浅响应式&#xff09;。 shallowRef&#xff1a;只处理基本数据类型的响应式, 不进行对象的响应式处理。 什么时候使用? 如果有一个对象数据&#xff0c;结构比较深, 但变化时只是外层属性变化 > sh…

Spring Cache

Spring Cache 一.Spring Cache介绍 Spring Cache是一个框架,实现了基于注解的缓存功能,只需要加一个注解,就能实现缓存功能 Spring Cache整合了很多的缓存产品,提供一层抽象(接口),底层可以切换不同的缓存 具体是通过CacheManager接口来统一不同的缓存技术 二.Spring Cache…

RocketMQ on openEuler 提供高性能消息队列的稳定性解决方案

RocketMQ on openEuler&#xff0c;是一种将 RocketMQ 消息中间件通过容器化的方式部署在 openEuler 操作系统上运行&#xff0c;借助 openEuler 系统对于 OS 缓存回收效率增强的内核特性&#xff0c;提升消息中间件在面向超大规模高并发、高吞吐量、低延迟场景下稳定性和可靠性…

windows 10 安装Python 3.10版

一、查找官网 1.python官网需要VPN(建立一个临时的、安全的连接&#xff0c;是一条穿过混乱的公用网络的安全、稳定的隧道。)&#xff0c;打开VPN进行代理之后&#xff0c;打开网址&#xff1a;https://www.python.org/ 二、查找所需下载的系统及版本 1.本机是winodws操作系统&…

详解JAVA Socket

目录 1.概述 2.使用 3.使用场景 3.1.web server中的网络通信 3.2.长连接 3.3.性能问题 1.概述 什么是网络通信&#xff1a; 就像打电话一样&#xff0c;两点间要通信&#xff0c;两点间就必须有连接&#xff0c;为了实现任意两个节点之间的通信&#xff0c;我们就必须采…

Zabbix监控

Zabbix监控 1.Zabbix监控概述1.1 zabbix是什么1.2 zabbix监控原理1.3 Zabbix 6.0新特性1.4 Zabbix 6.0功能组件1.5 Zabbix与prometheus区别对比 2. 部署Zabbix6.02.1 安装NginxPHP2.2 部署Mariadb数据库2.3 安装zabbix Server服务端2.4 部署Web前端&#xff0c;进行访问2.5 部署…

Vue 2.0 学习笔记——day01(环境配置+入门)

vue安装 版本 兼容性问题&#xff1a; Vue 不支持 IE8 及以下版本&#xff0c;因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性。但它支持所有兼容 ECMAScript 5 的浏览器。 有关EMCA&#xff1a;https://zhuanlan.zhihu.com/p/367249029 最新版本&#xff1a;v 2.7.14 …

Flink写入数据到ClickHouse

文章目录 1.ClickHouse建表1.ClickHouse依赖2.Bean实体类3.ClickHouse业务写入逻辑4.测试写入类5.发送数据 1.ClickHouse建表 ClickHouse中建表 CREATE TABLE default.test_write (id UInt16,name String,age UInt16 ) ENGINE TinyLog();1.ClickHouse依赖 Flink开发相关…

【Web3】认识NFT

NFT&#xff08;非同质化代币&#xff09;在Web3中扮演着重要的角色。Web3是指下一代互联网&#xff0c;它建立在区块链技术之上&#xff0c;旨在实现更加去中心化、透明和用户掌控的互联网。 NFT在Web3的一些重要作用&#xff1a; 唯一性和可证明稀缺性&#xff1a;NFT是一种…

第十二章 原理篇:vision transformer

参考教程&#xff1a; https://arxiv.org/pdf/2010.11929.pdf https://zhuanlan.zhihu.com/p/340149804 【大佬总结的非常好&#xff0c;他的好多篇文章都很值得学习】 文章目录 为什么会使用transformerVIT详解method获得patchpatch embeddingposition embedding 代码实现eino…

Spring Boot 集成 Redisson分布式锁

Redisson 是一种基于 Redis 的 Java 驻留集群的分布式对象和服务库&#xff0c;可以为我们提供丰富的分布式锁和线程安全集合的实现。在 Spring Boot 应用程序中使用 Redisson 可以方便地实现分布式应用程序的某些方面&#xff0c;例如分布式锁、分布式集合、分布式事件发布和订…

【webrtc】vs2017 重新构建m98

配置了一台13900k的主机,需要重新配置webrtc 构建环境代码已经gclient sync 同步好了,打算重新构建:vs2017 的win10 sdk最大17763 vs2017 环境 set vs2017_install=S:\Program Files (x86)\Microsoft Visual Studio\2017\Communitywin10 SD