JS中常用的字符串方法

后面很多注释符是因为我直接从自己做的笔记中复制的,希望不会影响大家的浏览。做个简单的总结,下面是详细的介绍:
1.字符串的长度属性

  • string.length

2.在字符串中检索另一个字符串是否存在,下面的方法均可以达到这个目的

  • indexOf()
  • lastIndexOf()
  • search()
  • match()
  • test()
  • exec()

3.从字符串中进行提取,并赋值给另一个字符串

  • slice()
  • substring()
  • substr()

4.替换字符串内容

  • replace()

5.大小写转换

  • toUpperCase
  • toLowerCase

6.将字符串进行连接

  • concat()
  • 使用运算符+也可以达到这个目的

7.删除字符串两边的空白字符

  • trim()
  • 使用replace+正则表达式可以达到这个目的

8.获取字符产相应位置下的字符

  • charAt()
  • charCodeAt()
  • 使用属性访问str[],也可以达到这个目的
  • 使用split对字符串进行分隔,得到相应的数组,从而访问相应位置的下标

9.对字符串进行分隔

  • split()

下面有这些函数的比较详细的介绍和对应的实例,这是一些比较常用的字符串方法,还有一些字符串方法并没有总结进来,有需要的同学可以去W3school看更加全面的方法。

 /*
     字符串方法和属性
     原始值,比如"gaoxing",无法拥有属性和方法(因为他们不是对象)
     但是通过JavaScript,方法和属性也可以用于原始值,因为再执行方法和属性时JavaScript
     将原始值视为对象
  */

 /*
     字符串长度
     length属性返回字符串的长度
  */
/* 
     var txt = "ASHDDHIHIGAI";
     var len = txt.length;
     console.log(len);
 */

/*查找字符串中的字符串
 indexOf()方法返回字符串中指定文本首次出现的索引(位置)
 */
/*
     var str = "The full name of China is the People's Republic of China.";
     var pos = str.indexOf("China");
     console.log(pos);//17
*/
/*
     JavaScript从零计算位置
     0是字符串中的第一个位置,1是第二个,2是第三个。。
     lastIndexOf()方法返回指定文本在字符串中最后一次出现的索引:
 */
 /*
     var str = "The full name of China is the People's Republic of China.";
     var pos = str.lastIndexOf("China");
     console.log(pos);//51
 */
 //如果未找到文本,indexOf()和lastIndexOf()返回的值均为-1.
 /*
     var str = "The full name of China is the People's Republic of China.";
     var pos = str.lastIndexOf("USE");
     console.log(pos);//-1
 */
 //indexOf()和lastIndexOf()都接受第二个参数作为检索的起始位置
 /*
     var str = "The full name of China is the People's Republic of China.";
     var len = str.indexOf("China",30);
     var len1 = str.lastIndexOf("China",30);
     console.log(len);//51
     console.log(len1);//17
 */
 /*
     由上面的len和len1的值我们可以知道,indexOf()是向前检索的(从头到尾),lastIndexOf()
     是向后检索的(从尾到头)
  */

 /*
     与indexOf()相似,search()方法也可以用于检索字符串在字符串中的位置,并返回匹配的位置
  */
 /*
     var str = "The full name of China is the People's Republic of China.";
     var pos = str.search("China");
     console.log(pos);//17
 */
 /*
     indexOf()和search()的返回值是相等的。
     但是这两种方法是不同的,他们的区别在于:
         search()方法无法设置第二个参数作为开始位置参数。
         indexOf()方法无法设置更强大的搜索值(正则表达式)。
  */
 /*
         match()方法可在字符串内检索指定的值,找到一个或者多个匹配
         该方法类似于indexOf()和lastIndexOf(),但是它返回的是指定的值而不是字符串的位置
         语法
         stringObject.match(searchValue)
         stringObject.match(regexp)
         searchValue:必需。规定要检索的字符串值
         regexp:必需。规定要匹配的模式的RegExp对象。如果该参数不是RegExp对象,则需要把他传递给RegExp构造函数,将其转换为RegExp对象
         返回值
         存放匹配结果的数组。该数组的内容依赖于regexp对象是否具有全局标记g
     */
 
 /*
         使用test()
         test()是一个正则表达式方法
         它通过模式来搜索字符串,然后根据结果返回true或false
         下面的例子搜索字符串中的字符"e"
      */
 //实例
 /*
     var patt = /e/;
     patt.test("The best things in life are free!");//true
 */
 //可以不必把正则表达式放入变量中,上面的两行可缩短为一行
 /*
     /e/.test("The best things in life are free!");//true
 */

 /*
     使用exec()
     exec()方法是一个正则表达式
     它通过指定模式(pattern)搜索字符串,并返回已经找到的文本
     如果未找到匹配,则返回null
  */
 //下面的例子搜索字符串中的字符"e"
 //实例
 /*
     /e/.exec("The best things in life are free!");//e
 */
 
 /*
     slice()方法
     slice()方法提取字符串的某个部分并在新字符串中返回被提取的部分
     该方法设置两个参数:其实检索位置,种植检索位置
  */
 //实例
 /*
     var str = "Apple,Banana,Mango";
     var res = str.slice(7,13);
     console.log(res);//anana,
 */
 /*
     如果设置某个参数为负,则从字符串的结尾开始计数
     这个例子参见字符串中的位置-12到-6的片段
  */
 /*
     var str = "Apple, Banana, Mango";
     var res = str.slice(-13,-7);
     console.log(res);//Banana
 */
 //如果省略第二个参数,该方法将参见字符串的剩余部分
 /*
     var res = "Apple, Banana, Mango".slice(7);
     console.log(res);//Banana, Mango
 */
 //或者从结尾开始计数
 /*
     var res= "Apple, Banana, Mango".slice(-13);
     console.log(res);//Banana, Mango
 */

 /*
     substring()方法
     substring()类似于slice()
     不同之处在于substring()无法接受负的索引
  */
 /*
     var str = "Apple, Banana, Mango";
     var res = str.substring(7,13);
     console.log(res);//Banana
 */
 //如果省略第二个参数,则该substring()将参见字符串的剩余部分。

 //substr()方法
 //substr()类似于slice()
 //不同之处在于第二个参数规定被提取部分的长度
/*
     var str = "Apple, Banana, Mango";
     var res = str.substr(7,6);
     console.log(res);//Banana
 */
//如果省略第二个参数,substr()函数将裁减字符串的剩余部分
 /*
     var str = "Apple, Banana, Mango";
     var res = str.substr(7);
     console.log(res);//Banana, Mango
 */
 //如果首个参数位符,则从字符串的结尾计算位置
 /*
     var str = "Apple, Banana, Mango";
     var res = str.substr(-5);
     console.log(res);//Mango
 */

 /*
     替换字符串内容
     replace()方法用另一个之替换在字符串中指定的值
     可使用正则表达式
  */
 /*
     var str = "Please Visit Mic!";
     console.log(str.replace("Mic","W3S"));//Please Visit W3S!
 */
 /*
     replace()方法不会改变调用他的字符串,它返回的是新字符串
     默认的,replace()只替换首个匹配(使用正则表达式/g可以实现全部替换)
  */

 /*
     转化为大小写
     使用toUpperCase()把字符串转化为大写
     使用toLowerCase()将字符串转化为小写
  */
 /*
     var txt1 = "Hello World!";
     var txt2 = txt1.toUpperCase();
     var txt3 = txt1.toLowerCase();
     console.log(txt1);//Hello World!
     console.log(txt2);//HELLO WORLD!
     console.log(txt3);//hello world!
 */

 /*
     concat()方法
     concat()连接两个或者多个字符串
  */
 /*
     var text1 = "Hello";
     var text2 = "World!";
     var text3 = text1.concat(" ",text2);
     console.log(text3);//Hello World!
 */
 //concat()方法可用于代替加运算符
 /*
     var text = "Hello" + " " + "World!";
     var text1 = "Hello".concat(" ","World!");
     console.log(text);//Hello World!
     console.log(text1);//Hello World!
 */

 /*
     String.trim()
     trim()方法删除字符串两端的空白符
  */
 /*
     var str = "   Hello World!    ";
     console.log(str.trim());//Hello World!
 */
 //IE8及以下版本无法兼容,如果需要兼容IE8一下版本则需要使用replace()方法进行代替
 /*
     var str = "       Hello World!        ";
     console.log(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''));//Hello World!
 */

 /*
     提取字符串字符
     这是两个提取字符串字符的安全方法:
         charAt(position)
         charCode(position)
  */
 //charAt()方法
 //charAt方法返回字符串中指定下标的字符串
 /*
     var str = "HELLO WORLD!";
     console.log(str.charAt(0));//H
 */
 //charCodeAt()方法
 //charCodeAt()方法返回字符串中指定索引的字符的unicode编码
 /*
     var str = "HELLO WORLD!";
     console.log(str.charCodeAt(0));//72
 */

 /*
     属性访问
     ECMAScript 5 允许对字符串的属性访问[]:
  */
 /*
     var str = "HELLO WORLD!";
     console.log(str[0]);//H
 */
 /*
     使用属性访问有点不太靠谱
         不适用IE7及以下的版本
         他让字符串看起来像数组
         如果找不到字符,[]返回undefined,而charAt()返回空字符串
         它是只读。str[0] = "A"不会产生错误(但是也不会工作)
  */
 /*
     var str = "HELLO WORLD!";
     str[0] = "A";
     console.log(str[0]);//H
 */
 //如果希望按照数组的方式处理字符串,可以把它先转化为数组

 /*
     将字符串转化为数组
     可以通过split()将字符串转化为数组
  */
 /*
     var txt = "a,b,c,d,e";//字符串
     txt.split(",");       //使用逗号分隔
     txt.split(" ");       //使用空格分割
     txt.split("|");       //使用竖线分隔
 */
 //如果省略分隔符,被返回的数组将包含index[0]中整个字符串
 //如果分隔符是"",被返回的数组僵尸间隔单个字符串的数组
 /*
     var txt = "Hello";
     console.log(txt.split(""));//Array(5) 0: "H" 1: "e" 2: "l" 3: "l" 4: "o" length: 5
     console.log(txt);//Hello
     */
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值