JS中截取一个字符串的三种方法:
字符串.slice(开始索引,结束索引)
字符串.substring(开始索引,结束索引)
字符串.substr(开始索引,截取的长度)

如果需要截取到该字符串的最后,可以省略第二个参数:
字符串.slice(开始索引)
字符串.substring(开始索引)
字符串.substr(开始索引,开始到最后的长度)
字符串.substr(开始索引)

最后的截取出来的,是开始索引的字符到,结束索引的字符前面的字符,不包括结束的索引字符。
例如,测试代码和图示,“一二三四五”这个字符串,二的索引是1,四的索引是3,如果截取索引是1到3的字符串,结果是二三,而不是二三四。测试截取出来的不包括结束字符四。

如果想截取到最后一位,由于索引到4,而截止的索引该结束地方不包括,所以可以用省略第二个参数的方式,就是默认截取到最后一位。

在C#中substring也是裁剪字符串,第二个参数是长度,类似JS里的substr,虽然计算机语言很多都类似,但是每种语言的写法和特点不同,为了避免语法差异引起的误解,可以进行测试。

测试代码:

<body>
<input type="button" value="点击截取" onclick="F1();"><br>
<script language="javascript" type="text/javascript">
function F1(){
var str1="一二三四五",str2="12345";
var c1=str1.slice(1,3);
var str1_indexend=str1.length-1;
console.log("该字符串共有"+str1.length+"个字符,索引从0开始到"+str1_indexend);
console.log("\"二\"的索引为:"+str1.indexOf("二")+",\"四\"的索引为:"+str1.indexOf("四"));
console.log("从索引为1的到索引为3的slice截取的字符串为:"+c1);
var c2=str1.substring(1,3);
console.log("从索引为1的到索引为3的subString截取的字符串为:"+c2);
var c3=str1.substr(1,2);
console.log("从索引为1的开始截取2个长度,substr截取后的字符串为:"+c3);
var c4=str1.slice(1);c5=str1.substring(1);c6=str1.substr(1,4);
console.log("截取到最后一位的方法,方法1,slice省略第二个参数:"+c4+";substring省略第二个参数:"+c5+";substr索引到最后的长度或省略:"+c6);
};
</script>
</body>

图示:

JS的slice、substring、substr字符串截取的更多相关文章

  1. 字符串截取函数slice, substring, substr

    在日常项目需求中,常常会遇到需要截取字符串操作的工作,而ECMAScript为我们提供了原生的截取字符串的函数,而且提供了三个:slice, substring, substr.我们怎么判断在什么时候 ...

  2. JS字符串截取函数slice(),substring(),substr()的区别

    在JS中,slice().substring().substr()都有截取字符串的作用,那他们有哪些用法上的区别呢?如果你也有疑惑,这篇文章或许能够帮助到你. 一.substring() substr ...

  3. 关于js的string的3个函数slice,substring,substr对比

    slice,substring,substr三个函数都是截取字符串,但是对参数的处理有区别 参数处理相似的两个函数式slice和substring slice(start,end)和substring ...

  4. slice,substring,substr的区别

    1.都为正整数//例子数据 var arr = [1,2,3,4,5,6,7], var str = "helloworld!"; //注意这里有个!号也算一位若有空格,空格也算一 ...

  5. MySQL字符串函数substring:字符串截取

    MySQL 字符串截取函数:left(), right(), substring(), substring_index().还有 mid(), substr().其中,mid(), substr() ...

  6. MySQL substring:字符串截取 (转载)

    MySQL 字符串截取函数:left(), right(), substring(), substring_index().还有 mid(), substr().其中,mid(), substr() ...

  7. 字符串截取slice() substring() substr()的区别?

    获取子字符串 slice()        substr()    substring() 不会修改字符串本身,他们只是返回一个基本类型的字符串值 var str='abcdefghijklmn'; ...

  8. JS 中的substring ,substr ,slice,split,join

    substr with different arguments passed in: str.substring(startNum,stopNum ); str.slice(startNum,stop ...

  9. 怎样理解String的slice(), subString(), substr()三个方法

    String.prototype.slice() 是js字符串的切片工具方法, 用于对字符串做'裁剪'操作, 不改变原字符串. 'helloworld'.slice(0,5); // 'hello'; ...

随机推荐

  1. Spark 的两种核心 Shuffle (HashShuffle 与 与 SortShuffle) 的 的工作流程

    1. 参考博客:https://blog.csdn.net/qichangjian/article/details/88039576

  2. Vector(同步)和Arraylist(异步)的异同

    //  同步  异步  //1  同步  //2  异步  //未响应 = 假死  占用内存过多  内存无法进行处理  //请求方式:同步    异步  //网页的展现过程中:1 css文件的下载  ...

  3. 比较ping,tracert和pathping等命令之间的关系

    无论你是一个网络维护人员,还是正在学习TCP/IP协议,了解和掌握一些常用的网络测试命令将会有助于您更快地检测到网络故障所在,同时也会有助你您了解网络通信的内幕. 下面我们逐步介绍几个常用的命令: 1 ...

  4. SpringCloud分布式系统的演进.

    day1 https://github.com/deadzq/product-service 单体服务 https://github.com/deadzq/eurekaserver1 注册中心Eure ...

  5. 系统字体放大导致rem布局错乱,解决方案,已通过测试

    如果你用rem没遇到过坑,那只能说明你 too young too simple; (function (doc, win) { var resizeEvt = 'orientationchange' ...

  6. GDB十分钟教程【转载于网络爱好者】

    本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者. GDB是一个由GNU开源组织发布的.UNIX/LINUX操作系统下的.基于命令行的.功能强大的程序调 ...

  7. 洛谷 P1613 跑路 题解

    P1613 跑路 题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资,小A买了一个十分牛B的 ...

  8. 使用pytesseract进行图像识别

    引言 对于简单验证码及一些图像的识别,我们需要使用pytesseract及相应的Tesseract引擎,它是开源的OCR引擎.帮助我们做一些简单的图像识别 当然为了更好将图片识别,对一些像素比较低的图 ...

  9. avalon在公共页面里面写的功能,怎么让某些页面不引用到这个方法和html?

    每一个页面都用用到head.html里面的东西,但是有些页面我不想调用这个js,但是在head.html我已经调用了怎么办? 比如我是这个页面不需要去调用  https://*******/mytry ...

  10. mac使用crawlab

    这里采用docker-compose的 第一步拉镜像 docker pull tikazyq/crawlab:latest 第二步修改compose文件 docker-compose.yml文件 ve ...