常用笔记: 与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()小记的更多相关文章
- 常用笔记: JS实现VBS当中的Replace
<script> //JS实现VBS当中的Replace,替换全部.方法名大写,区别于原方法,与VBS相类似. String.prototype.Replace = function(ol ...
- C#可扩展编程之MEF学习笔记(三):导出类的方法和属性
前面说完了导入和导出的几种方法,如果大家细心的话会注意到前面我们导出的都是类,那么方法和属性能不能导出呢???答案是肯定的,下面就来说下MEF是如何导出方法和属性的. 还是前面的代码,第二篇中已经提供 ...
- qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)
原博主博客地址:http://blog.csdn.net/qq21497936本文章博客地址:http://blog.csdn.net/qq21497936/article/details/78516 ...
- git tag 常用笔记
git tag 常用笔记 查看 tag 列出现有 tag git tag 列出 v1.4.2 相关的 tag git tag -l "v1.4.2" 查看指定 tag 的信息 gi ...
- C++ primer plus读书笔记——第10章 对象和类
第10章 对象和类 1. 基本类型完成了三项工作: 决定数据对象需要的内存数量: 决定如何解释内存中的位: 决定可使用数据对象执行的操作或方法. 2. 不必在类声明中使用关键字private,因为这是 ...
- Duilib学习笔记《06》— 窗体基类WindowImpBase
在前面的例子中我们发现,窗口都是继承CWindowWnd.INotifyUI,然后重载相关函数去实现.显然,我们发现窗口的创建流程实际上都是差不多的,主要只是在OnCreate加载的配置文件不同等等… ...
- 01 语言基础+高级:1-5 常用API第二部分_day01.【Object类、常用API: Date类、System类、StringBuilder类】
day01[Object类.常用API] 主要内容 Object类 Date类 DateFormat类 Calendar类 System类 StringBuilder类 包装类 java.lang.O ...
- 01 语言基础+高级:1-3 常用API第一部分_day07【Scanner类、Random类、ArrayList类】
day07[Scanner类.Random类.ArrayList类] Scanner类Random类ArrayList类 教学目标 能够明确API的使用步骤能够使用Scanner类获得键盘录入数据能够 ...
- php错误以及常用笔记
//语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出. /* [命名规则] */ 常量名 类常量建议全大写,单词间用下划线分隔 // MIN_WIDTH 变量名建 ...
随机推荐
- Python学习笔记(十五):类基础
以Mark Lutz著的<Python学习手册>为教程,每天花1个小时左右时间学习,争取两周完成. --- 写在前面的话 2013-7-24 23:59 学习笔记 1,Python中的大多 ...
- 修改SharePoint平台登录者显示名称
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { //提升权限,拿系统服务帐号来执行此段代码 ...
- read和onload jquery.val
$(document).load(); 当web页面以及其附带的资源文件,如CSS,Scripts,图片等,加载完毕后执行此方法.常用于检测页面(及其附带资源)是否加载完毕. $(document). ...
- CTreeCtrl点击获得选中项
相应TVN_SELCHANGED可以得到选中的项,在相应函数内如下: LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(p ...
- 判断浏览器及设备的打开方式,自动跳转app中
如果安装了APP则自动条状app,如果没安装则自动跳转下载页面 <head> 放在head中加载 <script> function redirect() { var appU ...
- objective -c 知識点
那么类别与继承相比,有什么缺点吗?类别不可以声明新的成员变量,而且一旦你定义的方法与原始类中的方法名称相同,那么原始方法将被隐藏起来,因为不是继承结构,你不能在类别中的方法使用super 激活原始类的 ...
- [原创]linux简单之美(三)
原文链接:linux简单之美(三) 在linux简单之美(二)中我们尝试使用了C库的函数完成功能,那么能不能用syscall方式来搞呢?显然可以! section .data ft db sectio ...
- Top free and open source log management software
As mentioned in the previous post, in my quest to find an alternative to Kiwi Syslog, I looked at a ...
- 使用TWebBrowser组件保存网页为html和mht文件 收藏
一.保存为HTML文件 uses ActiveX;...procedure WB_SaveAs_HTML(WB : TWebBrowser; const FileName : string) ;var ...
- 未能从文本"Template"创建 "System.Windows.DependencyProperty"
XXXXProperty = DependencyProperty.Register("XXXX", typeof(double), typeof(MyClass), new Pr ...