当前位置:首页 > 技术分享 > 正文内容

substring、slice、splice、split、join、match、replace方法总结

admin8个月前 (12-30)技术分享819

js 常用的一些操作字符串和数组的方法经常容易混淆,忙里偷闲整理了一下,请看


1. substring() 方法

用法:substring() 方法用于提取字符串中介于两个指定下标之间的字符。

语法:string.substring(start,stop)


示例:
let str = "0123456789"
 
str.substring(0)   // 0123456789 输入0会原字符串输出
str.substring(3)   // 3456789    从第三位开始截取,如果第二个参数忽略则截取到字符串末尾
str.substring(3,7)   // 3456  前包括后不包括


提示:substring 不支持负数,如果是负数会输出原字符串

2. substr() 方法

用法: substr() 方法可在字符串中抽取从 开始 下标开始的指定数目的字符。

提示: substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用

注意: ECMAscript 没有对该方法进行标准化,因此反对使用它

语法:string.substr(start, length)


示例:
let str = "0123456789"
 
str.substr(0)   // 0123456789   输入0会原字符串输出
 
str.substr(3))   // 3456789
 
str.substr(-3)   // 789
 
str.substr(3,5)  // 34567  
 
str.substr(3,6)  // 345678 从第三位截取,截取6位字符  (第二位参数不支持负数)


3. slice() 方法

用法:slice() 方法可从已有的数组中返回选定的元素。

           slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

语法:array.slice(start,end)

示例:
let arr = ["one", "two", "three","four", "five"]
 
arr.slice(1,3)  // ["two","three"]
 
arr.slice(0, -1) // ["one", "two", "three","four"]  ( 去掉最后一位 )
 
let str = "0123456789"
 
str.slice(0)   // 原字符串输出
 
str.slice(3)   // 345678  从第三位开始截取,如果第二个参数忽略则截取到字符串末尾
 
str.slice(3,6)   // 345
 
str.slice(-3)   // 789
 
str.slice(0,-3)   // 0123456   ( 截取后三位 )
 
提示:数组和字符串处理结果一致

4. splice() 方法

用法:splice() 方法用于添加或删除数组中的元素。

注意:这种方法会改变原始数组。

语法:array.splice(index,howmany,item1,...itemX)


示例:
let arr = ["one", "two", "three","four", "five"]
 
arr.splice(2,1)   // ["three"]  (从第二个删除,删除1个元素)
 
console.log(arr)   // ["one","two","four","five"] (原数组返回值)
 
arr.splice(2,1,"hello","world")  // ["three"]
 
console.log(arr) // ["one", "two", "hello", "world", "four", "five"]

 

注意:splice()方法只能操作数组,不能操作字符串,否则会报错

5. split() 方法

用法:split() 方法用于把一个字符串分割成字符串数组。

语法:string.split(separator,limit)


示例:
let str = "hello"
 
str.split("")  // ["h", "e", "l", "l", "o"]
 
str.split(" ") // ["hello"]
 
let str = "wang xin yan"
 
str.split(" ")  // ["wang", "xin", "yan"]
 
let str = "ni hao wagn xin yan"
 
str.split("", 3) // ["ni", "hao", "wang"]
 
使用一个字符作为分隔符:
let str = "how are you doing today"
 
str.split("o") // ["h","w are y","u d","ing t","day"]


6. join() 方法

用法:join() 方法用于把数组中的所有元素转换一个字符串。元素是通过指定的分隔符进行分隔的

语法:array.join()


示例:

let arr = ["one","two","three"]
 
arr.join("")  // "onetwothree"
 
arr.join("-")  // "one-two-three"
 
arr.join(",") // "one,two,three"
 
arr.join() // "one,two,three"  默认以逗号分隔


7. match() 方法

用法:match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

语法:string.match(regexp)


示例:

let str = "the rain is mainly in the plain"
 
str.match(/ain/g)  // ["ain","ain","ain"]
 
str.match(/ain/g).length  // 3   有3处匹配字符串


8. replace() 方法

用法:replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

语法:string.replace(searchvalue,newvalue)


示例:
let str = "nihao wangxy"
 
str.replace(/nihao/gi,"hello")  // hello wangxy

 

提示:g 全局匹配  i是否忽略大小写

 slice(),substr(),substring()基于子字符串创建新字符串的方法  |  slice()和splice()操作数组

扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/637.html

标签: js
分享给朋友:

相关文章

节假日api 负载均衡升级 增加阿里云服务器

2024-8-19 vip服务器遭受攻击 现已经临时更换服务器以下是服务器的情况可根据自己的需求进行选择1.tool.bitefu.net 整合服务器到 新的阿里云服务器(配置更高),旧服务器已不再续费2.vip.bitefu.n...

超高性比的斐讯盒子T1,刷第三方YYF固件机教程超级详细版

超高性比的斐讯盒子T1,刷第三方YYF固件机教程超级详细版

家里面买了斐讯盒子T1,必不可少的就是刷机,刷机一直爽,一直刷机一直爽,这样的快乐一般人体会不到。原来斐讯盒子N1,T1,还有斐讯K2P路由器也变成了性价比超高的东东,而且众多大神也带来了超多可玩性非常高的固件和破解。楼主今天扒到了相关超高...

centos 配置Let's Encrypt 泛域名https证书

centos 配置Let's Encrypt 泛域名https证书

前言2018年1月份Letsencrypt可以申请泛域名证书,这让我们部署多域名、多站点https省了很多功夫,终于可以不用维护多个域名的https证书。笔者以acme.sh为例,手把手教你配置https证书~本教程适用于centos 6....

安装Windows 10X 教你如何安装Win10X正式版 及下载地址

安装Windows 10X 教你如何安装Win10X正式版 及下载地址

安装Windows 10X 教你如何安装Win10X正式版:Windows 10X是Windows 10操作系统的新版本,主要针对双屏电脑。由于即将运行Windows 10X的双屏电脑(例如即将面世的Surface Neo)的开发遇到挫折,...

php Aes 加密模式ECB填充pkcs5padding base64

最近做支付项目用到了aes加密不过试了好多办法总是和官方给出的结果不一样,找了很久终于找到了测试结果同 http://tool.chacuo.net/cryptaes/ <?php /**  * [Aes&nb...

python调用WinRAR暴力获取压缩密码 用网址做解压密码

原理很简单:python通过调用WinRAR.exe暴力获取压缩密码,要求必须安装WinRAR或者有WinRAR.exe这个文件(单个文件就行)。个人实测zip和rar格式都能用。缺点:费时间,费cpu一、不生成密码本:4位全数字密码:im...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。