您好,登录后才能下订单哦!
这篇文章主要讲解了“javascript有哪些截取字符串的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript有哪些截取字符串的方法”吧!
javascript截取字符串的方法:1、使用substr()方法,可以根据指定长度来截取子字符串;2、使用slice()方法,根据指定的起止下标位置来截取字符串;3、使用substring()方法,根据指定的起止下标位置来截取字符串。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
javascript截取字符串的方法有3种:
slice() :抽取一个子串
substr() :抽取一个子串
substring():返回字符串的一个子串
其中,substr() 方法能够根据指定长度来截取子字符串,而slice() 和 substring() 方法都是根据指定的起止下标位置来截取字符串。下面给大家具体介绍一下。
截取指定长度字符串
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 表示倒数第二个字符,以此类推。这对于左侧字符长度不固定时非常有用。
ECMAScript 不再建议使用该方法,推荐使用 slice() 和 substring() 方法。
截取起止下标位置字符串
slice() 和 substring() 方法都是根据指定的起止下标位置来截取字符串,它们都可以包含两个参数,第一个参数表示起始下标,第二个参数表示结束下标。
示例2
下面代码使用 substring() 方法截取 URL 字符串中网站主机名信息。
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() 方法来说,则被无视为无效,并返回空字符串。
示例3
下面代码比较 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() 方法会视其为无效,并返回空字符串。
示例4
下面代码比较 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);
感谢各位的阅读,以上就是“javascript有哪些截取字符串的方法”的内容了,经过本文的学习后,相信大家对javascript有哪些截取字符串的方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。