JavaScript:在JS中截取字符串的方法
这篇主要说一说截取字符串的方法,用于帮助自己缕清方法的作用,参数的意义,返回值,是否对于原来的字符串进行了操作等。
在javascript中,常见的截取字符串的方法有slice()、substring()、substr()这三种方法,我主要为了捋清楚这三种方法的相同点与不同点,在什么情况下适用于哪一种。优雅的代码都是从一点一滴开始的。
slice()
首先,我在百度上面搜索了一下slice()方法,给出的链接是Javascript Array对象的 slice()方法,是对数组的操作。作用是从已有的数组中返回选定的元素,返回值是一个数组,并且不会对原先的数组产生影响。
然后我有上了W3schoole查找slice()方法,找到了Javascript String 对象的slice()方法。用于提取字符串的片段,并在新的字符串中返回被提取的部分。返回值是一个字符串,并且不会对原先的字符串产生影响。
虽然作用对像不一样,但是我个人觉得是一个东西。都是从原先对象里面截取出来新的东西,并且不对原先的对象有操作,返回值是根据原先的对象的类型来决定的。
slice()有两个参数,第一个参数可以为需要截取的起始点,第二个参数可以为截取结束的点。如果第二个参数不传输的画,默认情况下会截取到当前对象的最后。
代码示例:
JavaScript Array
<script type="text/javascript">var zhanShi = ["冲锋","断筋","巨人打击","压制","斩杀"];console.log(zhanShi);console.log(zhanShi.slice(1,2));console.log(zhanShi.slice(1));</script>
下面是这段代码在谷歌浏览器上面显示的结果:
JavaScript String
<script type="text/javascript">var wuqiZhan = "我叫武器战,打架开电扇。CD一分半,转完就完蛋。";console.log(wuqiZhan);console.log(wuqiZhan.slice(2,5));console.log(wuqiZhan.slice(6));</script>
下面是这段代码在谷歌浏览器上面显示的结果:
当然,我们现在传输的都是正数,我闲的无聊,然后我就给传了负数当作参数:
<script type="text/javascript">var str = "所以说很无奈";console.log(str.slice(-3));var arr = ["你看","传了","负数"];console.log(arr.slice(-2));</script>
substring()
substring()是用于提取字符串中介于两个指定下标之间的字符,两个参数,其中第一个参数是必须的,第二个参数是可选的。如果不传第二个参数,默认情况下会提取到最后。返回值是一个新的字符串。准确的说,返回的额字符串包含了第一个参数位置的字符串,而不包含第二个参数位置的元素。
上代码,其他都是空谈,看了代码就明白了:
<script type="text/javascript">var bingFa = "寒冰箭呀biubiubiu,五个冰刺一发脑残箭";console.log(bingFa.substring(4,13));</script>
slice可以传负数,substring可不可以呢?不可以!明确的告诉你不可义,但是却不会报错,只会把整个字符串都输出出来。可是,如果你给前面的参数传输的比较大,后面的参数比较小,那样会出现什么情况呢?
<script type="text/javascript">var bingFa = "寒冰箭呀biubiubiu,五个冰刺一发脑残箭";console.log(bingFa.substring(13,4));</script>
看的出来,即使你把前面的参数传输的比后面的参数大,但是substring会自动的调整两个参数的位置,也就是大的参数总是在后面。
substr()
substr()用于在字符串中从第一个参数位置起,截取到第二个指定的参数。其中第一个参数是必须的,第二个参数是可选的。如果不传输第二个参数的话,默认会截取到字符串最后。返回值是一个新的字符串,这个方法同样不会对原先的字符串进行修改。这个方法并没有被标准话,所以说,使用与否看个人吧。
代码:
<script type="text/javascript">var shuShi = "一发脑残箭,天人相隔永不见";console.log(shuShi.substr(2,3));console.log(shuShi.substr(-3,3)); </script>
上面的代码包含的第一个参数为负值的情况。
也许我的这些东西你看着很浅显,但这就像一砖一瓦,慢慢来嘛。我已经尽力写的很详细了,希望对你会有帮助。
JavaScript:在JS中截取字符串的方法相关推荐
- java js 截取字符串_JavaScript:在JS中截取字符串的方法
这篇主要说一说截取字符串的方法,用于帮助自己缕清方法的作用,参数的意义,返回值,是否对于原来的字符串进行了操作等. 在javascript中,常见的截取字符串的方法有slice().substring ...
- 前端开发:JS中截取字符串的用法总结
前言 在前端开发过程中,对JS相关的字符串处理可谓是家常便饭,对字符串对处理也是前端开发过程中使用频率非常高的知识点之一,对从后台获取到的字符串进行二次处理也是非常普遍的需求,那么本文就来分享一下在前 ...
- js中截取字符串前几位的两种方法slice()substring()
在Javascript使用字符串中,我们不一定需要全部的字符串,这时就需要截取字符串.本文主要介绍js中截取字符串前几位的两种方法:1.使用slice() 方法:2.使用substring() 方法. ...
- dedecms arclist中截取字符串的方法
小编给大家分享一下dedecms arclist中截取字符串的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! dede ...
- java和js中替换字符串的方法
//java中字符串的替换方法: String a = "吴林飞-1a_,唐姐-2,周帅-3"; String f = a.replaceFirst("-", ...
- 在JS中反转字符串的方法
在JS中反转字符串的方法 方法一: 字符串也是按照索引排列的 字符串也可以使用索引获取某一位字符 使用for 循环遍历,遍历字符串中的每一位数 倒着拼接到新的字符串上面 <script>f ...
- js中截取字符串方法的区别
在截取字符串时常常会用到substr().substring().slice()这几个方法,经常会混淆它们之间的用法,所以今天特地总结一下. slice()方法 定义:接受一个或者两个参数,第一个参数 ...
- MySQL 中截取字符串的方法
LEFT(str, len) 从左边开始截取,如果字符串为 null 则返回null. str:被截取字符串: len:截取长度 SELECT LEFT('ABCDEFT', 2) FROM sub_ ...
- 小程序js中截取字符串
/** 描述:截取字符串* str: 源字符串* len: 显示的字节数* suf: 尾部追加字符串*/function substr(str, len, suf) {if (!str || !len ...
- c语言中去掉全角空格,c#中去掉字符串空格方法
(1)Trim方法 string tt=" aaa "; tt=tt.Trim() 去字符串首尾空格的函数 tt=tt.TrimEnd() 去掉字符串尾空格 tt= ...
最新文章
- Windows server2008服务器设置多用户登录
- Cocos2d-x创建包边字
- 欢乐纪中某B组赛【2019.1.30】The penultimate day
- 2022年百度新能源汽车行业洞察
- show java玩jar游戏_指小游Java模拟器v1.2/安卓手机上玩jar游戏
- word手动设置编号起始值
- fx2n4ad模块中文手册_三菱PLC特殊功能模块FX2N-4AD实用程序讲解
- 中文分词(上)——获取和Word2Vec模型构建
- 常用邮箱的SMTP、POP3域名及其端口号
- 当mqtt客户端向服务端发送信息出现掉包的问题
- Oracle删除数据消耗时间大吗,oracle 删除大量数据的方法
- linux的系统监视器图片_用Nvidia Jetson Nano 2GB和Python构建一个价值60美元的人脸识别系统...
- PocketGamer专访Adrealm:数字广告将迎来全新解决方案
- 开源verilog仿真工具iverilog的安装与使用
- signature=c4f11bb5142d9f6ce0876b3cc0d888af,1【这人生我去了吧】_百度贴吧
- Romance of three kingdom
- Codeforces 549F Yura and Developers
- arduino 土壤温湿度传感器_怎样将Arduino与土壤湿度传感器FC-28连接起来
- Linux小白想成为007,先会用“John the Ripper工具”
- Bugku-CTF之细心 (想办法变成admin)
热门文章
- s5p6818开发板uboot网络开通
- (void __user *)arg 中__user的作用
- 题目1471: A+B without carry
- 89C52定时/计数器
- 【网易云课堂---轻松读书:番茄工作法(最后)】
- 两个应用程序之间的通信
- 智能优化算法:金鹰优化算法-附代码
- 基于python sklearn的 SVM支持向量机 类实现
- AttributeError: module ‘matplotlib‘ has no attribute ‘image‘
- python批量读取Excel文件