首页 > 代码库 > 常用笔记: 与VBS当中的Mid()类似的substr()小记
常用笔记: 与VBS当中的Mid()类似的substr()小记
VBS当中有Mid函数,一般形式为:Mid(str,start,len) 对应于JS就类似于:str.substr(start,len)
不过区别的是:VBS中start从1开始,而JS从0开始.
<script> //substr(start,length) : 从字符串的start个开始截取,截取length个 //如果忽略length,则截取到尾.如果length为0或负,则返回空字符串 //从第0个开始截取,截取到尾(相当于作白用功,基本不这么调用!) var e1 = ( (e1=‘0123456789|‘), e1.substr(0) ); //从第0个开始截取,截取长度为字符串的长度(相当于作白用功,基本不这么调用!) var e2 = ( (e2=‘0123456789|‘), e2.substr(0,e2.length) ); //从第0个开始截取,截取长度为字符串的长度减1(相当于去掉尾部1个字符) var e3 = ( (e3=‘0123456789|‘), e3.substr(0,e3.length-1) ); //从第0个开始截取,截取长度为字符串的长度减2(相当于去掉尾部2个) var e4 = ( (e4=‘0123456789|‘), e4.substr(0,e4.length-2) ); //...... //从第0个开始截取,截取长度为字符串的长度减M(相当于去掉尾部M个) var M eN = ( (eN=‘0123456789|‘),(M=5), eN.substr(0,eN.length-M) ); //从第0个开始截取,截取到尾(相当于作白用功,基本不这么调用!) var s1 = ( (s1=‘0123456789|‘), s1.substr(0) ); //从第1个开始截取,截取到尾(相当于头部去掉1个字符!) var s2 = ( (s2=‘0123456789|‘), s2.substr(1) ); //从第2个开始截取,截取到尾(相当于头部去掉2个字符!) var s3 = ( (s3=‘0123456789|‘), s3.substr(2) ); //...... //从第M个开始截取,截取长度为字符串的长度减M(相当于去掉头部M个) var M sN = ( (sN=‘0123456789|‘),(M=5), sN.substr(M) ); </script>
如果要精简点调用,那么:
<script> //所以对于原字符串要去掉尾部M个字符时,可以如上掉用,或者: String.prototype.DeleteEnd = function(M) { return this.substr(0,this.length-M); } //对于去掉前M个的,直接可使用:sN.substr(M) //当然,如果想对应于DeleteEnd,也可定义: String.prototype.DeleteFront = function(M) { return this.substr(M); }</script>
统一一下形式,删除以上的代码,将其替换为如下:
<script> //所以对于原字符串要去掉头部M1个字符,又要去掉尾部M2个字符时,可以用: //用Delete命名比较简洁,但用DeleteSides则比较现义 String.prototype.Delete = String.prototype.DeleteSides = function(M1,M2) { return this.substr(0,this.length-M2).substr(M1); }</script>
调用:
<script> var str1 = ‘0123456789|‘.Delete(1,1); //‘123456789‘ var str2 = ‘0123456789|‘.Delete(0,1); //‘0123456789‘ var str2 = ‘0123456789|‘.Delete(1,0); //‘123456789|‘ var str2 = ‘0123456789|‘.Delete(2,3); //‘234567‘</script>
一般使用Delete扩展函数就可以了(注意扩展函数都以大写命名,区别于原有的函数)
常用笔记: 与VBS当中的Mid()类似的substr()小记
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。