首页 > 其他分享 >字符串中的slice(),substr(),substring()三种提取字符串的方法总结

字符串中的slice(),substr(),substring()三种提取字符串的方法总结

时间:2023-02-28 21:04:51浏览次数:37  
标签:slice console substr substring start str 字符串


1、slice()

slice()方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

语法:str.slice(start,end),截取str从start到end的所有字符(包含起始位置,不包含结束位置)

说明:start和end都可以是负数,如果是负数,就从字符串的尾部开始算起,例如-1就是最后一个字符,-2就是倒数第二个字符,一次类推

如果未指定end参数,则截取从 start 到原字符串结尾的字符串

例子:

var str = 'abcde leodonna'
console.log(str.slice(1,8))//bcde le
console.log(str.slice(1,-2))//bcde leodon
console.log(str.slice(-4,-1))//onn
console.log(str.slice(8))//odonna

注意:起始字符要比结束字符小,否则截取不成功

2、substring() 

substring()方法用于提取字符串中介于两个指定小标之间的字符

语法:str.substring(start,end) 截取str从start到end的所有字符(包含起始位置,但不包含结束位置)

说明:两个参数都必须是非负整数,如果参数start与end相等,那么该方法返回的就是一个空字符串,如果start比end大,那么该方法在提取字符串之前会先交换这两个参数

如果未指定end参数,则截取从start到原字符串结尾的字符串

例子:

var str = 'abcde leodonna'
console.log(str.substring(1,8))//bcde le
console.log(str.substring(4))//e leodonna
console.log(str.substring(4,1))//bcd

3、substr()

(ECMAscript 没有对该方法进行标准化,因此反对使用它。)

 substr()方法可在字符串中抽取从start下标开始的指定数目的字符串

语法:str.substr(start,length)截取str从start开始的length个字符(包含起始位置)

说明:start参数可以是任意整数,如果是负数,则从str的尾部开始算起,例如-1就是str的最后一个字符。

length是可选的,如果没有,则表示截取从str开始的位置到字符串的尾部

例子:

var str = 'abcde leodonna'
console.log(str.substr(8))//odonna
console.log(str.substr(-4))//onna
console.log(str.substr(4,4))//e le
console.log(str.substr(-3,6))//nna

总结:String 对象的方法 slice()、substring() 和 substr() (不建议使用)都可返回字符串的指定部分。slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。slice() 与 substr() 有所不同,因为它用两个字符的位置来指定子串,而 substr() 则用字符位置和长度来指定子串。

需要注意的是,JavaScript 的字符串是不可变的(immutable),String 类定义的方法都不能改变字符串的内容。所以以上三种方法都不会改变原来的字符串,而是生成新的字符串。


标签:slice,console,substr,substring,start,str,字符串
From: https://blog.51cto.com/u_15983333/6091799

相关文章

  • Postgresql获取指定字符后的末尾字符串
    需求:妍妍-肉肉,需要获取-后面的肉肉selectsubstr('妍妍-肉肉',length(substr(reverse('妍妍-肉肉'),position('-'inreverse('妍妍-肉肉'))))+1)输出:肉肉可以看下......
  • 把数字翻译成字符串
    描述有一种将字母编码成数字的方式:'a'->1,'b->2',...,'z->26'。现在给一串数字,返回有多少种可能的译码结果输入:"12"返回值:2说明:2种可能的译码结果(”ab”或”l”)......
  • 微信json对象 转换为json字符串传参给后端,后端解析
    普通js通常这样转换//这是一个json对象varjsonobj={"sztno":"330890811","transTime":"2018-5-708:00:36","amt":"50"};//json对象转成json字符串varjsonstr=JSON.s......
  • 去掉C#字符串中的所有空格
    字符串行数Trim()可以去掉字符串前后的空格,如:C#Code stringmyString="thisisatest";Console.WriteLine(myString.Trim());输出的结果为: 使用字符串的......
  • 汇编语言学习_3_计算字符串长度
    第三节计算字符串长度翻译自:https://asmtutor.com/背景知识为什么我们需要计算字符串的长度?好吧,sys_write要求我们向它传递一个指向我们要在内存中输出的字符串的指......
  • slice()函数与splice()函数
    JavaScript高级程序设计P1511.slice()函数slice()函数用于重新创建一个包含原有数组中一个或多个元素的新数组,(将原数组赋值一份进行修改操作,使用slice()函数不会对原......
  • 【web开发基础】PHP快速入门(5)-PHP运算符之算术运算符和字符串运算符详解
    前言PHP开发基础开速入门系列《​【web开发基础】php开发基础快速入门(1)-PHP介绍及开发环境快速安装和基本使用介绍​》《​【web开发基础】php开发基础快速入门(2)......
  • 剑指Offer 58-||.左旋转字符串
    题目描述  解法一基本思路:直接移动classSolution{public:stringreverseLeftWords(strings,intn){for(inti=0;i<n;i++){......
  • shell中产生随机字符串的方法
    random变量echo$RANDOM8746生成0-32767之间的整数随机数,若超过5位可以加个固定10位整数,然后进行求余。再结合md5生成字符串echo$RANDOM|md5sum|head-c10e0......
  • c# 避免代码中直接暴露字符串
    ///<summary>///避免代码中直接暴露字符串///将字符串转字节///</summary>///<paramname="byteDatas"></param>......