JavaScript基础之字符串

举报
hw02441001 发表于 2020/08/05 17:43:04 2020/08/05
【摘要】 其实在很多语言中字符串都占据很重要的位置,处理数据避免不了与字符串“碰一碰”。其实在前端的笔试中,对字符串的处理题目是经常考的,很多人觉得这些知识没什么难度,但是能在不借助外部帮助的情况下,写出来最简洁的处理代码,是不容易的,废话不多说,让我们来看一看字符串有哪些常用方法。

 其实在很多语言中字符串都占据很重要的位置,处理数据避免不了与字符串“碰一碰”。其实在前端的笔试中,对字符串的处理题目是经常考的,很多人觉得这些知识没什么难度,但是能在不借助外部帮助的情况下,写出来最简洁的处理代码,是不容易的,废话不多说,让我们来看一看字符串有哪些常用方法。


  说到字符串,简单了解一下字符串的基本概念和基本知识:

字符串的概念

所以带单引号或者双引号的都叫字符串。

字符串的声明:

        1.通过new运算符声明

          var str1=new String(100);

        2.省略new声明

           var str2=String(100);

        3.字符串常量赋值

           var str3="100";

字符串的转换:

        1. var num=10;     var Str=num.toString();

        2. var num=10;     var Str=String(num);

        3. var num=10;    var Str=num+"";

前两种都是使用的JS中的方法,第三种利用的是字符串的特性,任何类型的数据和字符串类型的数据做相加操作时,其他数据类型会自动转化为字符串类型,此时的 + 不再是数学意义上的相加,而是字符串拼接。


字符串的方法:

  • 访问字符串中的字符:

         字符串.length:  访问字符串中字符的个数。                                                      【注】中文  utf-8(三个字符表示一个汉字) gbk(两个字符表示一个汉字)   

            在计数的时候一个汉字为一个字符。

         字符串.charAt(下标)   访问字符串中单个字符【注】下标从0开始。

  【注】字符串是只读的,字符串一旦被声明就没有办法修改。字符串的数据存储在只读数据段。

  • 字符串的获取方法

           charAt(下标)               访问字符串中对应下标字符。

                var str="abcdab";

                var index=str.charAt(2);//"c" 下标从0开始

           charCodeAt(下标)       访问字符串中对应下标字符的ASCII码值。

                var str="abcdab";

                var index=str.charCodeAt(2);//99 

           fromCharCode(ASCII值1,ASCII值1..... 将传入的ASCII码值转化为字符,并返回一个由这些字符组成的字符串。  

                var str=String.fromCharCode(97,98,99);//"abc"

               

  • 字符串的查找方法

           indexOf(subStr,start)    在字符串中寻找subStr第一次出现的位置,从start位置开始查找,如果没有start值,默认从0开始。 如果没找到,返回为-1。    

               var str="abcdab";

                var index=str.indexOf("a");//0  下标从0开始,且返回第一个出现位置的下标


           lastIndexOf(subStr)         在字符串中寻找subStr最后一次出现的位置,从start位置开始查找,查找的下标是从右往左数的。如果没有start值,默认从0开始。 如果没找到,返回为-1。  

               var str="abcdab";

                var index=str.IndexOf("a");//4  下标从0开始,且返回最后一个出现位置的下标

           search(subStr)正则匹配  在字符串中寻找subStr第一次出现的位置,从0开始。

          【区别】 search方法中的参数可以为正则表达式,写法:/abc/; 正则表达式

                        有修饰符:i 忽略大小写  g全局匹配。

             var  str="Abcabcabc";      

             var subStr=/abc/i;

             var indexstr.search(subStr); 

                上述代码值为0; 如果 subStr=/abc/; 值为3。

  • 字符串的提取方法

               substring(start,end)         将字符串中[start,end) 这部分字符提取出来,生成一个新字符串,返回新的字符串。

               var str="abcdab";

                var str1=str.substring(1,3);//"bc"  注意包括下标为1的元素,不包括下标为3的元素

             substr(start,length)           在字符串中截取字符串,从start开始,截取length长度的字符串。

               var str="abcdab";

                var str1=str.substr(1,2);//"bc"  注意包括下标为1的元素,截取总长度为2

             slice(start,end)  【是数组的方法】 作用和substring方法一样。

  • 其他字符串方法

   字符串替换   replace(oldstr,newstr)      将字符串中的oldstr用newstr代替,返回新的字符串

 【注】这个方法不会对原字符串造成影响,只会返回新的字符串,并且此方法只替换一次,也就是对此字符串的一个oldstr进行替换。

           如果想把这个字符串中所有oldstr进行替换,可以使用正则表达式

          var str="how are are you";

          var newStr=str.replace(/are/g,"old are");

  字符串分割      split(分隔符,length)     用分隔符对原字符串进行分割,将分割完毕后的子串,放在数组中返回。(length参数,控制返回的数组的长度,一般情况下不用) 

               var str="a,bc,d,ab";

                var str1=str.split(",");// ["a","bc","d","ab"]

  字符串拼接     concat(字符串1,字符串2....)     将字符串和参数字符串拼接起来,返回一个新字符串

【注】正常情况下我们使用 + 号就能完成拼接。

               var str="abcdab";

                var str1="hello";

               var newStr=str.concat(str1);//"abcdabhello"

相信JavaScript中字符串操作的函数不止这几个,上面列的都是非常实用的。如果有哪些需要补充的,欢迎!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。