JavaScript-截取字符串
引言
在js中字符串截取函数有常用的三个slice()、substring()、substr()函数,同时还有一些方法如split() 、Join() 、indexOf()可以对字符串进行操作,来获得截取我们想要的字符串。
语法
取字符串的三个函数:
slice(start,[end])
substring(start,[end])
substr(start,[length])
slice()
第一个参数代表开始位置,第二个参数代表结束位置的下一个位置,截取出来的字符串的长度为第二个参数与第一个参数之间的差;
若参数值为负数,则将该值加上字符串长度后转为正值;
若第一个参数等于大于第二个参数,则返回空字符串。
substring()
第一个参数表示开始位置,第二个参数代表结束位置的下一个位置;
若参数值为负数,则将该值转为0;
两个参数中,取较小值作为开始位置,截取出来的字符串的长度为较大值与较小值之间的差。
substr()
第一个参数代表开始位置,第二个参数代表截取的长度
若参数为负数,第一个按倒叙查,若超出字符串长度,则输出整个字符串。第二个参数视为0。
PS:字符串都是从0开始计起。
示例
var stmp = "rcinn.cn";//使用一个参数console.log("demoStringSlice");console.log(stmp.slice(3),"nn.cn")console.log(stmp.substring(3),"nn.cn");//使用两个参数console.log(stmp.slice(1,5),"cinn")console.log(stmp.substring(1,5),"cinn");//如果只用一个参数并且为0的话,那么返回整个参数console.log(stmp.slice(0),"rcinn.cn");console.log(stmp.substring(0),"rcinn.cn");//返回第一个字符console.log(stmp.slice(0,1),"r");console.log(stmp.substring(0,1),"r");//在上面的例子中我们可以看出slice()和substring()的用法是相同的//返回的值也是一样的,但当参数为负数时,他们的返回值却不一样,看下面的例子console.log(stmp.slice(2,-5),"i");console.log(stmp.substring(2,-5),"rc");//从上面两个例子可以看出slice(2,-5)实际上是slice(2,3)//负5加上字符串长度8转换成正3(若第一位数字等于或大于第二位数字,则返回空字符串);//而substring(2,-5)实际上是substring(2,0),负数转换为0,substring总是把较小的数作为起始位置。console.log(stmp.substring(1,5),"cinn")console.log(stmp.substr(1,5),"cinn.");
the different of substring and substr
var str = "0123456789";//
console.log("the different of substring and substr");
console.log(str.substring(0),"0123456789");//------------"0123456789"
console.log(str.substring(5),"56789");//------------"56789"
console.log(str.substring(10),"");//-----------""
console.log(str.substring(12),"");//-----------""
console.log(str.substring(-5),"0123456789");//-----------"0123456789"
console.log(str.substring(-10),"0123456789");//----------"0123456789"
console.log(str.substring(-12),"0123456789");//----------"0123456789"
console.log(str.substring(0,5),"01234");//----------"01234"
console.log(str.substring(0,10),"0123456789");//---------"0123456789"
console.log(str.substring(0,12),"0123456789");//---------"0123456789"
console.log(str.substring(2,0),"01");//----------"01"
console.log(str.substring(2,2),"");//----------""
console.log(str.substring(2,5),"234");//----------"234"
console.log(str.substring(2,12),"23456789");//---------"23456789"
console.log(str.substring(2,-2),"01");//---------"01"
console.log(str.substring(-1,5),"01234");//---------"01234"
console.log(str.substring(-1,-5),"");//--------""
console.log(str.substr(0),"0123456789");//---------------"0123456789"
console.log(str.substr(5),"56789");//---------------"56789"
console.log(str.substr(10),"");//--------------""
console.log(str.substr(12),"");//--------------""
console.log(str.substr(-5),"56789");//--------------"0123456789"
console.log(str.substr(-10),"0123456789");//-------------"0123456789"
console.log(str.substr(-12),"0123456789");//-------------"0123456789"
console.log(str.substr(0,5),"01234");//-------------"01234"
console.log(str.substr(0,10),"0123456789");//------------"0123456789"
console.log(str.substr(0,12),"0123456789");//------------"0123456789"
console.log(str.substr(2,0),"");//-------------""
console.log(str.substr(2,2),"23");//-------------"23"
console.log(str.substr(2,5),"23456");//-------------"23456"
console.log(str.substr(2,12),"23456789");//------------"23456789"
console.log(str.substr(2,-2),"");//------------""
console.log(str.substr(-1,5),'9');//------------"01234"
console.log(str.substr(-1,-5),"");//-----------""
split()
功能:使用一个指定的分隔符把一个字符串分割存储到数组
语法
stringObject.split(separator,limit)
separator 必需。分隔符,从该参数指定的地方分隔stringObject。
limit 可选参数。分隔的次数,如设置该参数,返回的子串不会多余这个参数指定的数组,如果无此参数为不限制次数
注意
如果把空字符串 (“”) 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
将字符串分割为字符
document.write(mystr.split("")+"<br>");
document.write(mystr.split("", 5));
运行结果
w,w,w,.,i,m,o,o,c,.,c,o,m
w,w,w,.,i
加上limit只会切割成符合条件的数组,余后的字符会被删除掉
var oStr="jpg|bmp|gif|ico|png";
var arr=oStr.split("|");
console.log(arr);
arr是一个包含字符值”jpg”、”bmp”、”gif”、”ico”和”png”的数组
Join()
功能:使用自己选择的分隔符将一个数组合合并为一个字符串
var myList=new Array("jpg","bmp","gif","ico","png");
var portableList=myList.join("|");
console.log(portableList);
indexOf()
功能:返回某个指定的字符串值在字符串中首次出现的位置。
语法
stringObject.indexOf(substring, startpos)
substring 必需。规定需检索的字符串值。
startpos 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是0到stringObject.length-1。如省略改参数,则将从字符串的首字符开始检索
如果要检索的字符串值没有出现,则该方法返回 -1。
var myString="JavaScript"
var oNum1=myString.indexOf("v");
var oNum2=myString.indexOf("S");
var oNum3=myString.indexOf("Script");
var oNum4=myString.indexOf("key");
console.log(oNum1,oNum2,oNum3,oNum4);
JavaScript-截取字符串相关推荐
- javascript截取字符串方法实例
JS截取字符串可使用 substring()或者slice() 函数:substring() 定义:substring(start,end)表示从start到end之间的字符串,包括start位置的字 ...
- JavaScript - 截取字符串方法
JS提供三个截取字符串的方法: slice() substring() substr() slice()和substring() var stmp = "rcinn.cn"; 使用 ...
- JavaScript 截取字符串、转换字符串、修改字符串
关键字: 1.substr(a,b) 截取字符串 a . 截取开始的索引值 b .截取长度 2.indexOf 判断字符串在不在某个字符串中 3.replace(a,b) 替换修改字符串 b 替换 ...
- html前台截取/以后的字段,javascript如何截取字符串后几位?
javascript截取字符串的方法有substring(start,stop).substr(start,length).slice(start,end),通过设置其中参数就可以截取字符串后几位. ...
- html字段截取前几位,javascript怎么截取字符串前几位?
截取字符串是编程中最常见的操作之一, 熟练的掌握对字符串的处理是衡量是否入门的一个标准. JavaScript 这门语言内置了非常强大的字符串处理工具. javascript截取字符串的方法如下: 一 ...
- 在html中如何截取字符串,javascript中如何截取字符串?
JavaScript中截取字符串有三种方法,分别是substring(),substr(),split().下面本篇文章就来给大家介绍一下它们的使用方法,希望对大家有所帮助. 方法1:使用substr ...
- JavaScript如何截取字符串的最后一位
工作开发过程中,经常会需要截取字符串的最后一位,下面来一起看一下该如何操作 方法1:String对象的charAt方法 charAt方法的作用是返回指定位置的字符 str.charAt(str.len ...
- JavaScript丨使用正则截取字符串内容
1.截取某个字符串前面的内容: varstr = "aaabbbcccdddeeefff"; tr = str.match(/(\S*)fff/)[1]; alert(str);/ ...
- CSS截取字符串,兼容浏览器
今天在经典论坛看到有同学问到CSS截取字符多余省略号代替的求助且要兼容FF... 这个的确是个比较头痛的问题,现在我在的公司都是程序截取显示省略符的.兼容是没问题,但在中文和数学或字母混排时,就会有点 ...
- vue截取一个字符串_vue如何截取字符串
在后端有许多的封装方法来截取字符串或者对字符串的操作,同样前端也有相应的方法. 有一个data数据为ipaddr data() { return { ipaddr: "192.168.100 ...
最新文章
- Java魔法堂:注解用法详解——@SuppressWarnings
- 自定义控件android特效,Android自定义控件eBook实现翻书效果实例详解
- 【渝粤教育】国家开放大学2018年春季 0014-21T秘书学(一) 参考试题
- (数据科学学习手札03)Python与R在随机数生成上的异同
- ibatis调用mysql带OUT类型参数的存储过程并获取返回值
- MySQL Workbench工具设置编码
- 渐变,类Flash的菜单
- imageio读取数据后需要关闭吗_关闭汽车自动启停功能后,能更换为普通汽车电瓶吗?有什么影响吗...
- scala解析xml_Scala XML处理–文字,序列化,解析,保存和加载示例
- Android 6.0 扫描不到 Ble 设备需开启位置权限
- mysql id 不连续_MySQL中自增主键不连续之解决方案。(20131109)
- 【转】nodejs 压缩文件 zip-local
- css怎么设置数字的字体格式,css设置字母数字字体库信息
- 如何免费下载百度文库文档
- 典型的对称加密和非对称加密算法有哪些
- c语言中正确的常量表达式,C语言常量变量表达式
- Python中time.sleep(0.001)真的只等待1毫秒吗?
- 互联网广告的形式表现有哪几种?
- 全网清晰虚拟机安装截图
- 决定转学运维了,JAVA学不下去了