一、字符串操作方法

js中字符串方法操作有很多:concat、indexOf....

这里只要介绍两种经常混淆的字符串截取方法:substringsubstr

二、从例子入手

  1. let str = 'xiaobe'
  2. //substring(start,end)
  3. let str1 = str.substring(1,2);
  4. //substr(start,length)
  5. let str2 = str.substr(1,2);
  6. console.log(str1); //i
  7. console.log(str2); //ia

可以看到str1输出的长度为1,str2输出长度为2.

substring

概念:返回字符串的一个子串,传入参数是起始位置和结束位置。

不取结束位置的字符

substr

返回字符串的一个子串,传入参数是起始位置和长度

substr是根据长度取值,所以上面例子,两个方法虽然参数相同,但是返回值不同

三、特殊情况

substring
  1. 仅有一个入参
  1. let str = 'xiaobe'
  2. let str1 = str.substring(1);
  3. console.log(str1); //iaobe

当只有一个入参的时候,会自动输出后面所有字符

  1. 入参的start>end
  1. let str = 'xiaobe'
  2. let str1 = str.substring(3,1);
  3. console.log(str1); //ia

当读取位置大于结束位置的时候,substring会自动调整位置

  1. 如果end为负数
  1. let str = 'xiaobe'
  2. let str1 = str.substring(3,-1);
  3. console.log(str1); //xia

当end为负数的时候,substring会输出start之前的字符

注意,start的最后一位依然是不会取到的

substr
  1. end为负数
  1. let str = 'xiaobe'
  2. let str1 = str.substring(3,-1);
  3. console.log(str1); //

substr会输出空。毕竟length为负数,自然不会输出东西

四、扩展

其实substring和substr的关系与slice和splice关系相似

slice(start,end)

用法和substring类似,取值:[start,end)

  1. //当end为负数时候
  2. let str = 'xiaobe'
  3. let str3 = str.slice(1,-1);
  4. console.log(str3) //iaobe

substring会倒序输出,而slice会输出后续全部

slice方法可用于字符串和数组

下面介绍一个和slice方法很像的方法,但是这个方法仅仅使用于数组

splice(start,length,item1,item2....)
参数 描述
start 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置
length 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1...itemX 可选。向数组添加的新项目。

splice会改变原数组 slice不会。

五、js字符串方法大全

转载:https://www.cnblogs.com/l1pe1/p/6197371.html

  • concat
  1. 将两个或多个字符的文本组合起来,返回一个新的字符串。
  2. var a = "hello";
  3. var b = ",world";
  4. var c = a.concat(b);
  5. alert(c);
  6. //c = "hello,world"
  • indexOf
  1. //返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回 -1 。
  2. var index1 = a.indexOf("l");
  3. //index1 = 2
  4. var index2 = a.indexOf("l",3);
  5. //index2 = 3
  • charAt
  1. //返回指定位置的字符。
  2. var get_char = a.charAt(0);
  3. //get_char = "h"
  4. lastIndexOf
  5. 返回字符串中一个子串最后一处出现的索引(从右到左搜索),如果没有匹配项,返回 -1
  6. var index1 = lastIndexOf('l');
  7. //index1 = 3
  8. var index2 = lastIndexOf('l',2)
  9. //index2 = 2
  • match
  1. //检查一个字符串匹配一个正则表达式内容,如果么有匹配返回 null。
  2. var re = new RegExp(/^\w+$/);
  3. var is_alpha1 = a.match(re);
  4. //is_alpha1 = "hello"
  5. var is_alpha2 = b.match(re);
  6. //is_alpha2 = null
  • substring
  1. //返回字符串的一个子串,传入参数是起始位置和结束位置。
  2. var sub_string1 = a.substring(1);
  3. //sub_string1 = "ello"
  4. var sub_string2 = a.substring(1,4);
  5. //sub_string2 = "ell"
  • substr
  1. //返回字符串的一个子串,传入参数是起始位置和长度
  2. var sub_string1 = a.substr(1);
  3. //sub_string1 = "ello"
  4. var sub_string2 = a.substr(1,4);
  5. //sub_string2 = "ello"
  • replace
  1. //用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配的字符串。
  2. var result1 = a.replace(re,"Hello");
  3. //result1 = "Hello"
  4. var result2 = b.replace(re,"Hello");
  5. //result2 = ",world"
  • search
  1. //执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1 。
  2. var index1 = a.search(re);
  3. //index1 = 0
  4. var index2 = b.search(re);
  5. //index2 = -1
  • slice
  1. //提取字符串的一部分,并返回一个新字符串(与 substring 相同)。
  2. var sub_string1 = a.slice(1);
  3. //sub_string1 = "ello"
  4. var sub_string2 = a.slice(1,4);
  5. //sub_string2 = "ell"
  • split
  1. 通过将字符串划分成子串,将一个字符串做成一个字符串数组。
  2. var arr1 = a.split("");
  3. //arr1 = [h,e,l,l,o]
  4. length
  5. 返回字符串的长度,所谓字符串的长度是指其包含的字符的个数。
  6. var len = a.length();
  7. //len = 5
  • toLowerCase
  1. //将整个字符串转成小写字母。
  2. var lower_string = a.toLowerCase();
  3. //lower_string = "hello"
  4. toUpperCase
  5. 将整个字符串转成大写字母。
  6. var upper_string = a.toUpperCase();
  7. //upper_string = "HELLO"

不要再混淆js的substring和substr了!(附js所有字符串方法)的更多相关文章

  1. js中substring和substr的用法

    js中substring和substr的用法 substring 方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引 参数    ...

  2. js中substring与substr的学习。

    今天在工作的过程中,看到js中两个双胞胎函数.分别是substring与substr.顿时被两个可恶的家伙给迷惑住了,不知道具体有什么作用.. 先来看看substring手册是怎么介绍的. 手册解释的 ...

  3. js中substring和substr的用法 (转)

    1.substring 方法 定义和用法 substring 方法用于提取字符串中介于两个指定下标之间的字符. 语法 stringObject.substring(start,stop) 参数     ...

  4. js 中 substring() 和 substr() 提取字符

    提取字符串substring() substring() 方法用于提取字符串中介于两个指定下标之间的字符. 语法: stringObject.substring(startPos,stopPos)  ...

  5. js中substring和substr的用法比较

    推荐使用substring 方法   stringObject.substring(start,stop)   stringObject.substr(start,length)   定义和用法 提取 ...

  6. JS中substring与substr的区别

    Substring: 该方法可以有一个参数也可以有两个参数. (1)  一个参数: 示例: var str=“Olive”: str.substring(3); 结果:“ve” 说明:当substri ...

  7. JS中substring与substr的用法

    substring方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引javascript 参数 描述 start 必需.一个非负 ...

  8. js中substring和substr用法与区别

    String.substring( ):用于返回一个字符串的子串 用法如下:string.substring(from, to) 其中from指代要抽去的子串第一个字符在原字符串中的位置 to指代所要 ...

  9. substring和substr、$.extend()、$.fn.extend()、(function($){….})(jQuery)的简易讲解

    1.    JS中substring与substr的区别 Substring: 该方法可以有一个参数也可以有两个参数. l  一个参数: 示例: var str="Olive": ...

随机推荐

  1. Symfony2 UserSecurityEncoder实现自己的验证方式

    fosuserbundle默认使用sha512加密 如果要实现自己的加密方式 需要继承Symfony\Component\Security\Core\Encoder\BasePasswordEncod ...

  2. linux--- sort,uniq,cut,wc命令

    1.sort [-fbMnrtuk] [file or stdin] -f :忽略大小写的差异,例如 A 与 a 视为编码相同: -b :忽略最前面的空格符部分: -M :以月份的名字来排序,例如 J ...

  3. 详解BOM头以及去掉BOM头的方法--踩过BOM的大坑

    类似WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM).它是一串隐藏的字符,用于让记事本等编辑器识别 ...

  4. Prometheus监控学习笔记之解读prometheus监控kubernetes的配置文件

    0x00 概述 Prometheus 是一个开源和社区驱动的监控&报警&时序数据库的项目.来源于谷歌BorgMon项目.现在最常见的Kubernetes容器管理系统中,通常会搭配Pro ...

  5. 【Selenium专题】元素定位之CssSelector

    CssSelector是我最喜欢的元素定位方法,Selenium官网的Document里极力推荐使用CSS locator,而不是XPath来定位元素,原因是CSS locator比XPath loc ...

  6. MySQL5.7.25解压版安装详细教程

    MySQL5.7.25解压版安装详细教程 安装步骤: 1.首先,你要下载MySQL解压版,下载地址:https://www.mysql.com/downloads/,图解: 2.解压安装包,根据自己的 ...

  7. API网关性能比较:NGINX vs. ZUUL vs. Spring Cloud Gateway vs. Linkerd(转)

    前几天拜读了 OpsGenie 公司(一家致力于 Dev & Ops 的公司)的资深工程师 Turgay Çelik 博士写的一篇文章(链接在文末),文中介绍了他们最初也是采用 Nginx 作 ...

  8. MVC HTML页面使用

    解决HTML <system.webServer> <validation validateIntegratedModeConfiguration="false" ...

  9. Linux 用 root 用户都无法删除的文件如何删除

    要查看隐藏文件用 ls -a 看文件有没有被锁定(i属性) [root@linux ~]# lsattr YourFile ---i---------- YourFile 去除i属性再删除 [root ...

  10. docker 容器配置tocmat时间不统一

    1.在tomcat配置文件bin下 vim   setenv.sh #!/bin/bashCATALINA_OPTS='-Duser.timezone=Asia/Shanghai'export CAT ...