javascript截取字符串的最后几个字符
在JavaScript中截取字符串一般是使用内置的substring()方法和substr()方法,这两个方法功能都很强大,也都能实现截取字符串中的最后几个字符。
substring()方法
JavaScript中的String对象提供了一个substring(int from, int to)方法用于截取字符串中位置为from到to-1位置的字符。
因为字符串的字符位置是从0开始的,而substring(int from, int to)方法是前闭后开的,即[from, to),可以理解为[from, to-1]。
同时to是可以省略的(多态),to缺省的情况下为截取到字符串的最后一位。
那么要截取字符串中的最后几个字符,就可以先获取字符串的长度,将字符串的长度-n作为substring()方法的第一参数,就能实现截取字符串最后的n个字符的效果。
var str = 'i like yanggb'; console.log(str.substring(str.length - 6)); // yanggb
另外要注意的是,JavaScript中的String是不可变的类型,因此substring()方法并不会改变原字符串,而是返回了一个新的字符串。
console.log(str); // i like yanggb
substr()方法
JavaScript中的String对象还提供了一个substr(int start, int length)方法用于截取字符串中从start位置开始length位数的字符。
常规的使用方法就不讲了,特殊的用法是这个方法的第一个参数start是支持负数的,负数表示从后往前第start位开始截取,比如start是-1的话,就表示从倒数第一位开始截取,依次类推。
那么,如果我们要截取字符串中的最后n个字符,就可以将start参数设置为-n,然后length也为n即可。
var str = 'i like yanggb'; console.log(str.substr(-6, 6)); // yanggb
同样的,substr()方法也会改变原字符串,而是返回了一个新的字符串。
console.log(str); // i like yanggb
另外要特别提及的是,substr()方法的第二个参数length的取值范围要特别注意的。
1.当length为负数的时候,实际上就相当于0。
2.当start为负数的时候,length应该小于等于start的绝对值,大于也不会报错,只是不够严谨。
3.当start为0或正数的时候,length应该大于0且小于源字符串的长度-start,否则可能没有什么意义。
"听说喜欢一个人的期限是四个月。"
javascript截取字符串的最后几个字符的更多相关文章
- javascript截取字符串(支持中英文混合)
javascript截取字符串(支持中英文混合) <script type="text/javascript"> var sub=function(str,n){ va ...
- Javascript 查找字符串中出现最多的字符和出现的次数
<script type="text/javascript"> //查找字符串中出现最多的字符和出现的次数 var str = 'Thatwheneying its o ...
- Javascript: 截取字符串多出来并用省略号[...]显示
/背景知识/ substring 方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引 参数描述 start 必需.一个非负的整数 ...
- javascript计算字符串中出现最多的字符和个数
代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <t ...
- Java中截取字符串中小数点前面的字符
通过下标获取 String number = "2563.2154"; int index = number.indexOf("."); String intN ...
- plsql截取字符串字段中的某个字符段
截取字符串 字符串s=" hello world ! (name) " 如果要截取括号中的字符串可以采取如下方法. select substr(s,instr(s,'(')+1, ...
- 怎么利用javascript删除字符串中的最后一个字符呢?
程序员就是每天在各种代码下不停的调试,世界买家网最近遇到了烦心事,是什么事情呢? 需求是一个字符串,想删除这个字符串最后一个字符,比如“1,2,3,4,5,”,删除最后一个“,”用javascript ...
- javascript在一个字符串中每隔多少字符插入某个字符串
function insertStr(str,tar,n,m){ var x='' var str=str.split('') if(str.length==0) return for(var i=n ...
- JavaScript截取字符串的Slice、Substring、Substr函数简单比较还有indexof函数应用
//截取字符,一看就明白!!! var str = "0123456789"; alert(str.substring(5)); 弹出 //56789 alert(str.subs ...
随机推荐
- ORACLE存储过程详解
1.定义 所谓存储过程(Stored Procedure),就是一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过编译后存储在数据库系统中.在使用时候,用户通过指定已经定义的存储过程名字并给 ...
- Enumeration接口和Iterator接口的区别有哪些?
Enumeration速度是Iterator的2倍,同时占用更少的内存.但是,Iterator远远比Enumeration安全,因为其他线程不能够修改正在被iterator遍历的集合里面的对象.同时, ...
- Xcode 三方库管理工具 CocoaPods 的安装流程
1. 移除现有 Ruby 默认源: $ gem sources --remove https://rubygems.org/ 2. 使用新的 Ruby 源: $ gem sources -a http ...
- 微信pc端和手机上传处理
一.原因 在微信通过电脑版和浏览器登录时,调用了微信上传的接口,wx.getLocalImgData或返回失败. 没办法,只有处理当电脑上传时,使用ajaxuploadfile上传. 二.方法 fun ...
- 记mysql条件分支语句CASE WHEN THEN ELSE END的使用
记一次基于mysql数据库查询时条件分支语句使用 表达式格式:CASE column WHEN 条件1 THEN 表达式1 WHEN 条件2 THEN 表达式2 .... ELSE 表达式 END [ ...
- Java基础接口和抽象类区别(二)
抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法:它只有声明,而没有具体的实现.抽象方法的声明格式为: 抽象方法必须用abstract关键字进行修饰.如果一个类含有抽象方法,则 ...
- Python基础知识第八篇(集合)
#集合是无序的#集合是不同元素组成的#集合是不可变的,列如:列表,字典,元组#创建空集合 s=set() # s={1,2,3,4,2} # print(s) #集合添加>>>> ...
- python 多线程编程之_thread模块
参考书籍:python核心编程 _thread模块除了可以派生线程外,还提供了基本的同步数据结构,又称为锁对象(lock object,也叫原语锁.简单锁.互斥锁.互斥和二进制信号量). 下面是常用的 ...
- linux的常用命令(一)
目录切换命令: cd切换目录 cd /usr 切换到usr目录 cd .. 切换到上一层目录 cd ../.. 调到当前目录的上上两层 cd / 切换到系统根目录 cd ~ ...
- 从properties中读取配置创建对象
主要做两个事,从properties配置文件中读取信息,通过反射创建对象 思路主要有两种,遍历得到的属性集合,然后设置类的属性 遍历类的属性集合,从配置文件中读取(不推荐,因为类的属性有多样化,会报错 ...