JS截取字符串 3种方法

JS截取字符串 3种方法1 String 定义了 3 个字符串截取的原型方法 String 类型的截取字符串方法字符串方法说明 slice 抽取一个子串 substring 返回字符串的一个子串 substr 抽取一个子串 1 1 截取指定长度字符串 substr 方法能够根据指定长度来截取子字符串 它包含两个参数 第一个参数表示准备截取的子字符串起始下标 第二个参数表示截取的长度 示例 1 在下面示例中使用 lastIndexOf 获取字符串的最后一个点号的下标位

1. String 定义了 3 个字符串截取的原型方法

String 类型的截取字符串方法

字符串方法 说明
slice() 抽取一个子串
substring() 返回字符串的一个子串
substr() 抽取一个子串

1.1 截取指定长度字符串

substr() 方法能够根据指定长度来截取子字符串。它包含两个参数,第一个参数表示准备截取的子字符串起始下标,第二个参数表示截取的长度。

// 示例1 // 在下面示例中使用 lastIndexOf() 获取字符串的最后一个点号的下标位置,然后从其后的位置开始截取 4 个字符。 var s = "http://c.biancheng.net/index.html"; var b = s.substr(s.lastIndexOf(".") + 1,4); //截取最后一个点号后4个字符 console.log(b); //返回子字符串“html” 

如果省略第二个参数,则表示截取从起始位置开始到结尾的所有字符。考虑到扩展名的长度不固定,省略第二个参数会更灵活。

var b = s.substr(s.lastIndexOf(".") + 1); 

如果第一个参数为负值,则表示从字符串的尾部开始计算下标位置,即 -1表示最后一个字符,-2 表示倒数第二个字符,以此类推。这对于左侧字符长度不固定时非常有用。

1.2 截取起止下标位置字符串

slice() 和 substring() 方法都是根据指定的起止下标位置来截取字符串,它们都可以包含两个参数,第一个参数表示起始下标,第二个参数表示结束下标。

var s = "http://c.biancheng.net/index.html"; var a = s.indexOf("c"); var b = s.indexOf("/", a); var c = s.substring(a,b); var d = s.slice(a,b); // 截取的字符串包含第一个参数所指定的字符。结束点不被截取,即不包含在字符串。 // 第二个参数如果省略,表示截取到结尾的所有字符串。 // 如果第一个参数值比第二个参数值大,substring() 方法能够在执行截取之前先交换两个参数,而对于 slice() 方法来说,则被无视为无效,并返回空字符串。 
var s = "http://c.biancheng.net/index.html"; var a = s.indexOf("c"); var b = s.indexOf("/", a); var c = s.substring(b, a); var d = s.slice(b, a); // 当起始点和结束点的值大小无法确定时,使用 substring() 方法更合适。 // 如果参数值为负值,slice() 方法能够把负号解释为从右侧开始定位,这与 Array 的 slice() 方法相同。但是 substring() 方法会视其为无效,并返回空字符串。 
// 下面代码比较 substring() 方法和 slice() 方法的用法不同。 var s = "http://c.biancheng.net/index.html"; var a = s.indexOf("c"); var b = s.indexOf("/", a); var 1 = s.length; var c = s.substring(a-1, b-1); var d = s.slice(a-1, b-1); 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/211838.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午9:28
下一篇 2026年3月18日 下午9:29


相关推荐

  • 超强半监督学习 MixMatch

    超强半监督学习 MixMatch人类的学习方法是半监督学习 他们能从大量的未标记数据和极少量的标记数据学习 迅速理解这个世界 半监督学习最近有没有什么大的突破呢 我的 Twitter 账号被这篇 TheQuietSemi SupervisedRe 1 博客刷屏了 这篇博客介绍了 DeepMind 的 MixMatch 2 方法 此方法仅用少量的标记数据 就使半监督学习的预测精度逼近监督学习 深度学习领域的未来可能因此而刷新 以前的半监督学习方案 一直以来表现其实都很差 你可能会想到 BERT 和 GPT 这两个

    2026年3月17日
    1
  • python为什么叫爬虫_检测安全

    python为什么叫爬虫_检测安全前言周一一早网管收到来自阿里云的一堆警告,发现我们维护的一个网站下有数十个被挂马的文件。网管直接关了vsftpd,然后把警告导出邮件给我们。取出部分大致如下:服务器IP/名称木马文件路径更新时间木马类型状态(全部)*.*.*.*/path/*144.gif2017/8/75:53Webshell待处理*.*.*.*/path/*…

    2022年9月29日
    5
  • n8n实战001,全网最全最细n8n环境搭建指南

    n8n实战001,全网最全最细n8n环境搭建指南

    2026年3月15日
    2
  • 千兆以太网在国产FPGA(智多晶)上的实现[通俗易懂]

    千兆以太网在国产FPGA(智多晶)上的实现[通俗易懂]**千兆以太网在国产FPGA(智多晶)上的实现闲来无事,想了想写点东西,顺带着记录一下自己学习的过程,其中千兆以太网这个模块是之前的一个项目任务,已经实现,但是想着自己在这里面也遇到过许多坑,所以写点东西,避免后来者遇到相同的问题,以后尽量避免事后总结,要做到边做边总结;在2020年国产化的大趋势下,国产芯片开始发展,在这样的时代背景下,我开始了千兆以太网的学习;实现的是简单千兆以太网的实现,利用udp协议、arp协议等千兆以太网的通信,在介绍具体操作流程的过程前,我先介绍一下千兆以太网的设计框架,

    2022年8月30日
    6
  • 基于Scrapy的IP代理池搭建[通俗易懂]

    基于Scrapy的IP代理池搭建[通俗易懂]目录一、为什么要搭建爬虫代理池二、搭建思路三、搭建代理池items.pykuai_proxy.pymiddlewares.pypipelines.pysettings.pyutils.py一、为什么要搭建爬虫代理池在众多的网站防爬措施中,有一种是根据ip的访问频率进行限制,即在某一时间段内,当某个ip的访问次数达到一定的阀值时,该ip就会被拉黑、在一段时…

    2022年5月1日
    66
  • 易语言解析html实例,易语言解析JSON教程

    易语言解析JSON教程本文由applek于2015-7-717:25发布在易语言教程现在很多数据都是为json返回,如果用正则的话显得太麻烦,下面果核源码网就带来json解析教程首先需要用到工具:精易模块3.6以上版本:json解析工具:首先我们要有一段json,这儿拿QQ留言json测试。下载地址:下面将代码复制到工具,如图所示然而右边并没有解析出来原因是这个不是标准的json,标…

    2022年4月9日
    535

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号