js常用的4种截取字符串方法
平常经常把这几个api的参数记混了,于是打算记录下来,当不确定的时候在拿出来翻翻;
在做项目的时候,经常会需要截取字符串,所以常用的方法有slice()、substr()、substring()、match()方法等,四个方法的使用如下所示;
<script type="text/javascript">
// 截取字符串的方法
//注意1、字符串的截取都是从左向右,不会有从右向左截取;2、slice与substring方法,截取返回的字符串包含numStart而不包含numEnd;3、注意slice方法当numStart大于numEnd时截取为空而substring当numStart大于numEnd时回调换二者位置,截取numEnd到numStart之间的字符串
var str = "HellohappyworldHello!";
//1.slice(numStart,numEnd) 返回的值为截取指定下标之间的字符串,参数可以为负数,可以不填,正整数表示从左向右读取小兵截取,负整数表示从右向左读取下标截取,当第一个开始下标参数为负整数时,第二个参数不需要了,如果写上不管是正整数还是负整数都截取为空的字符串,总结如下,不填参数时,截取取的是原字符串,第一个参数为正整数时,第二个参数,可不填(即为到字符串结尾),可填正整数(即从start-end),可以为负整数(即start-(str.length+end)),第一个参数为负整数时(即从右向左读取下标截取,右是从-1开始),第二个参数写上会截取为空,最后注意第二个参数都不能大于第一个参数,可以与坐标轴类比
var sliceStr1 = str.slice(2); //llohappyworldHello!
var sliceStr2 = str.slice(2,7); //lloha
var sliceStr3 = str.slice(-2); //o!
var sliceStr4 = str.slice(-2,5); //""
var sliceStr5 = str.slice(-2,-5); //""
var sliceStr6 = str.slice(2,-5); //llohappyworldH
console.log(sliceStr1);
console.log(sliceStr2);
console.log(sliceStr3);
console.log(sliceStr4);
console.log(sliceStr5);
console.log(sliceStr6); //2.substr(numStart,length) 返回的是从指定位置截取,length长度的字符串,numStart必填,为正整数时,表示从左向右读取下标截取,当为负整数时,表示从右至左读取下标截取,第二个参数表示需要截取字符串的长度,当为负整数时,返回的为空,整数数时表示截取的长度,当超过字符串的剩余长度时,到字符串末尾为止
var substrStr1 = str.substr(2); //llohappyworldHello!
var substrStr2 = str.substr(-2); //o!
var substrStr3 = str.substr(2,18); //llohappyworldHello
var substrStr4 = str.substr(-2,1); //o
var substrStr5 = str.substr(-2,-1); //""
console.log(substrStr1);
console.log(substrStr2);
console.log(substrStr3);
console.log(substrStr4);
console.log(substrStr5); //3、substring(numStart,numEnd) 与slice类似,但是第一个参数为负整数时,截取的为整个字符串
var substringStr1 = str.substring(2); //llohappyworldHello!
var substringStr2 = str.substring(-2);//HellohappyworldHello!
var substringStr3 = str.substring(7,2); //lloha
var substringStr4 = str.substring(2,7); //lloha
console.log(substringStr1);
console.log(substringStr2);
console.log(substringStr3);
console.log(substringStr4); //4、match方法 注意1、match方法返回的是一个含有匹配项字符串的数组;2、需要根据不同的情况来写正则;3、返回的数组里面第一个总是原来的字符串;4、当正则表示式有子表示时(即(\S*)括号内的内容),且为全局匹配时只查找全匹配正则表达式并返回所有内容,为非全局时,返回的是多个元素数组;当正则表达式无子表达式时,且为全局匹配时,返回的是多个元素的数组,如果为非全局匹配时,返回的是匹配到第一个元素的数组
var regStr1 = str.match(/Hello/g); //["Hello","Hello"]
var regStr9 = str.match(/Hello/); //["Hello"]
var regStr2 = str.match(/hello/g); //null
var regStr3 = str.match(/Hello(\S*)world/); //["Hellohappyworld", "happy"] //截取中间字符串
var regStr4 = str.match(/(\S*)world/g); //["Hellohappyworld"] //截取指定字符之前的字符串
var regStr5 = str.match(/(\S*)world/); //["Hellohappyworld", "Hellohappy"] //截取指定字符之前的字符串
var regStr6 = str.match(/Hello(\S*)/g); //["HellohappyworldHello!"] //截取指定字符之后的字符串
var regStr7 = str.match(/Hello(\S*)/); //["HellohappyworldHello!", happyworld!] //截取指定字符之后的字符串
var regStr8 = str.match(/llo(\S*)/); //["llohappyworldHello!", happyworldHello!] //截取指定字符的字符串
console.log(regStr1);
console.log(regStr9);
console.log(regStr2);
console.log(regStr3);
console.log(regStr4);
console.log(regStr5);
console.log(regStr6);
console.log(regStr7);
console.log(regStr8);
</script>
当然上面这些方法与使用方式都是一些简单的需求,当项目中的需求比较复杂时还得结合实际情况来进行截取,不过不管怎样使用的方法or实现思路都大概类似,另外也鞭策一下自己好记性不如烂笔头,碰到什么问题or新知识还是要养成记录下来的习惯,希望与诸位园友共勉。
js常用的4种截取字符串方法的更多相关文章
- java中subString、split、stringTokenizer三种截取字符串方法的性能比较(转)
最近在阅读java.lang下的源码,读到String时,突然想起面试的时候曾经被人问过:都知道在大数据量情况下,使用String的split截取字符串效率很低,有想过用其他的方法替代吗?用什么替代? ...
- .NET中常用的几种解析JSON方法
一.基本概念 json是什么? JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是一种轻量级的数据交换格式,是存储和交换文本信息的语法. ...
- 【面试题】JS使用parseInt()、正则截取字符串中数字
JS使用parseInt()和正则截取字符串中数字 点击打开视频讲解更加详细 parseInt() 函数 定义和用法 parseInt() 函数可解析一个字符串,并返回一个整数. 当参数 radix ...
- iOS中常用的四种数据持久化方法简介
iOS中常用的四种数据持久化方法简介 iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 ...
- 三种JS截取字符串方法
JS提供三个截取字符串的方法,分别是:slice(),substring()和substr(),它们都可以接受一个或两个参数: var stmp = "rcinn.cn"; 使用一 ...
- C#几种截取字符串的方法小结 (摘抄)
1.根据单个分隔字符用split截取 例如 string st="GT123_1"; string[] sArray=st.split("_"); 即可得到sA ...
- JS截取字符串方法实例
// JS截取字符串可使用 substring()或者slice() // // 函数:substring() // 定义:substring(start,end)表示从start到end之间的字符串 ...
- C#几种截取字符串的方法(split 、Substring、Replace、remove)
C#截图字符串常用的方法有 split .Substring.Replace.remove等. split的使用: 1. Split( Char ()) 返回的字符串数组包含此实例中的子字符串(由指定 ...
- C#几种截取字符串的方法小结
1.根据单个分隔字符用split截取例如代码如下: string st="GT123_1"; string[] sArray=st.split("_"); 即可 ...
随机推荐
- 静态链表实现(A-B)+(B-A)【代码】
-----------------------------------------------第一次发代码,写在前面------------------------------------------ ...
- 银盛支付ecshop,shopex,shopnc在线支付接口,php版本支付接口开发
最近应一个客户的要求,给他的一个ecshop商城开发银盛支付在线支付接口.银盛支付服务股份有限公司(简称银盛支付)成立于2009年7月,总注册资本14000万元人民币,员工队伍持续壮大.2011年5月 ...
- Nginx配置同一个域名同时支持http与https两种方式访问
Nginx配置同一个域名http与https两种方式都可访问,证书是阿里云上免费申请的 server{listen 80;listen 443 ssl;ssl on;server_name 域名;in ...
- MySQL最常用字符串函数
字符串函数 是最常用的的一种函数,在一个具体应用中通常会综合几个甚至几类函数来实现相应的应用: 1.LOWER(column|str):将字符串参数值转换为全小写字母后返回 mysql> sel ...
- JS中字符串与数组的一些常用方法
真是恨透了这些类似于substring substr slice 要么长得像,要么就功能相近的方法... 1⃣️string 1.substring(start开始位置的索引,end结束位置索引) 截 ...
- Hadoop安全机制之令牌
介绍 Hadoop中的安全机制包括认证和授权.而Hadoop RPC中采用SASL(Simple Authentication and Security Layer,简单认证和安全层)进行安全认证,具 ...
- PPT素才搜索简谈
PPT已经是大部分公司工作汇报.培训.年度总结等不可缺少的办公软件.下面介绍一些关于PPT素才搜索的方法. 第一:模板 1.搜索大法--filetype:对应的文档格式 在关键词后添加这样一段文 ...
- css3实现checkbox变按钮
css3实现checkbox变按钮 .search_checkbox { margin: 0; padding: 0; margin-left: 15px; display: inline-block ...
- HttpClient研究学习总结
Http协议非常的重要,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人 ...
- apache配置多个站点
序:这次项目主要是为了给微信客户端添加一个地址,在微信公众号里面添加一个可以访问的app下载页面,说起来很简单,但总不能为了这么小的一个网站新建一个web服务器吧! 现在开始配置,首先必须确认已经在L ...