zoukankan      html  css  js  c++  java
  • js---String对象

    String---->是一个对象
    字符串可以看成是字符组成的数组,但是js中没有字符类型
    字符是一个一个的,在别的语言中字符用一对单引号括起来
    在js中字符串可以使用单引号也可以使用双引号
    因为字符串可以看成是数组,所以,可以通过for循环进行遍历
    字符串特性:不可变性,字符串的值是不能改变
    字符串的值之所以看起来是改变的,那是因为指向改变了,并不是真的值改变了

     

    字符串的常用属性:
          .length------>字符串的长度
          .charAt(索引),返回值是指定索引位置的字符串,超出索引,结果是空字符串
          .fromCharCode(数字值,可以是多个参数),返回的是ASCII码对应的值
          .concat(字符串1,字符串2,...);返回的是拼接之后的新的字符串
          .indexOf(要找的字符串,从某个位置开始的索引);返回的是这个字符串的索引值,没找到则返回-1
          .lastIndexOf(要找的字符串);从后向前找,但是索引仍然是从左向右的方式,找不到则返回-1
          .replace("原来的字符串","新的字符串");用来替换字符串的
          .slice(开始的索引,结束的索引); 从索引5的位置开始提取,到索引为10的前一个结束,没有10,并返回这个提取后的字符串
          .split("要干掉的字符串",切割后留下的个数);切割字符串
          .substr(开始的位置,个数);返回的是截取后的新的字符串
          .substring(开始的索引,结束的索引),返回截取后的字符串,不包含结束的索引的字符串
          .toLocaleLowerCase();转小写
          .toLowerCase();转小写
          .toLocaleUpperCase()转大写
          .toUpperCase();转大写
          .trim();干掉字符串两端的空格
    JS中String对象的常用方法说明:
     
    1、charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码。 
      strObj.charCodeAt(index) 
      说明: 
        index将被处理字符的从零开始计数的编号。有效值为0到字符串长度减1的数字。 
        如果指定位置没有字符,将返回NaN。 
      例如: 
        var str = "ABC"; 
        str.charCodeAt(0); 
      结果:65 

    2、fromCharCode方法从一些Unicode字符串中返回一个字符串。 
      String.fromCharCode([code1[,code2...]]) 
      说明: 
        code1,code2...是要转换为字符串的Unicode字符串序列。如果没有参数,结果为空字符串。 
      例如: 
        String.fromCharCode(65,66,112); 
      结果:ABp 

    3、charAt方法返回指定索引位置处的字符。如果超出有效范围的索引值返回空字符串。 
      strObj.charAt(index) 
      说明: 
        index想得到的字符的基于零的索引。有效值是0与字符串长度减一之间的值。 
      例如: 
        var str = "ABC"; 
        str.charAt(1); 
      结果:B 

    4、slice方法返回字符串的片段。 
      strObj.slice(start[,end]) 
      说明: 
        start下标从0开始的strObj指定部分其实索引。如果start为负,将它作为length+start处理,此处length为字符串的长度。 
        end小标从0开始的strObj指定部分结束索引。如果end为负,将它作为length+end处理,此处length为字符串的长度。 
      例如: 
        012345 
        var str = "ABCDEF"; 
        str.slice(2,4); 
      结果:CD 

    5、substring方法返回位于String对象中指定位置的子字符串。 
      strObj.substring(start,end) 
      说明: 
        start指明子字符串的起始位置,该索引从0开始起算。 
        end指明子字符串的结束位置,该索引从0开始起算。 
        substring方法使用start和end两者中的较小值作为子字符串的起始点。如果start或end为NaN或者为负数,那么将其替换为0。 
      例如: 
        012345 
        var str = "ABCDEF"; 
        str.substring(2,4); // 或 str.substring(4,2); 
      结果:CD 

    6、substr方法返回一个从指定位置开始的指定长度的子字符串。 
      strObj.substr(start[,length]) 
      说明: 
        start所需的子字符串的起始位置。字符串中的第一个字符的索引为0。 
        length在返回的子字符串中应包括的字符个数。 
      例如: 
        012345 
        var str = "ABCDEF"; 
        str.substr(2,4); 
      结果:CDEF 

    7、indexOf方法放回String对象内第一次出现子字符串位置。如果没有找到子字符串,则返回-1。 
      strObj.indexOf(substr[,startIndex]) 
      说明: 
        substr要在String对象中查找的子字符串。 
        startIndex该整数值指出在String对象内开始查找的索引。如果省略,则从字符串的开始处查找。 
      例如: 
        01234567 
        var str = "ABCDECDF"; 
        str.indexOf("CD",1); // 由1位置从左向右查找 123... 
      结果:2 

    8、lastIndexOf方法返回String对象中字符串最后出现的位置。如果没有匹配到子字符串,则返回-1。 
      strObj.lastIndexOf(substr[,startindex]) 
      说明: 
        substr要在String对象内查找的子字符串。 
        startindex该整数值指出在String对象内进行查找的开始索引位置。如果省略,则查找从字符串的末尾开始。 
      例如: 
        01234567 
        var str = "ABCDECDF"; 
        str.lastIndexOf("CD",6); // 由6位置从右向左查找 ...456 
      结果:5 

    9、search方法返回与正则表达式查找内容匹配的第一个字符串的位置。 
      strObj.search(reExp) 
      说明: 
        reExp包含正则表达式模式和可用标志的正则表达式对象。 
      例如: 
        var str = "ABCDECDF"; 
        str.search("CD"); // 或 str.search(/CD/i); 
      结果:2 

    10、concat方法返回字符串值,该值包含了两个或多个提供的字符串的连接。 
      str.concat([string1[,string2...]]) 
      说明: 
        string1,string2要和所有其他指定的字符串进行连接的String对象或文字。 
      例如: 
        var str = "ABCDEF"; 
        str.concat("ABCDEF","ABC"); 
      结果:ABCDEFABCDEFABC 

    11、将一个字符串分割为子字符串,然后将结果作为字符串数组返回。 
      strObj.split([separator[,limit]]) 
      说明: 
        separator字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。 
        limit该值用来限制返回数组中的元素个数。 
      例如: 
        var str = "AA BB CC DD EE FF"; 
        alert(str.split(" ",3)); 
      结果: 
        AA,BB,CC 

    12、toLowerCase方法返回一个字符串,该字符串中的字母被转换成小写。 
      例如: 
        var str = "ABCabc"; 
        str.toLowerCase(); 
      结果:abcabc 
    13、toUpperCase方法返回一个字符串,该字符串中的所有字母都被转换为大写字母。 
      例如: 
        var str = "ABCabc"; 
        str.toUpperCase(); 
      结果:ABCABC
     
    字符串的2个小案例:
    //案例1:找到这个字符串中所有的 o 出现的位置
        var str2 = "hello wod odd ott fbo nhyo";
        var index = 0;//开始的位置
        var key = "o";//要找的字符串
        while ((index = str2.indexOf(key, index)) != -1) {//如果是-1情况,说明找完了
          console.log(index);
          index += key.length;//===i++
        }
        //4 7 10 14 20 25
        //var index=str2.indexOf("o",0);
        //console.log(index);
    
    
        //案例2:找到这个字符串中每个字符串出现了多少次
        var str = "whatOareYyouvnYnoYshaHleiHoHmyHgods";
        //先全部改为统一的大小写
        var str1 = str.toLocaleLowerCase();
        //创建一个对象 用于存储每个字母以及出现的次数
        var str2 = {};
        //循环去检查这个字符串
        for (var i = 0; i < str1.length; i++) {
          //这个key拿到的是每一个字母
          var key = str1[i];
          //
          if (str2[key]) {//2 如果这个对象中有这个字母 则把这个字母对于的值加1
            str2[key]++;
          } else {// 1 如果对象没有这个字母 则把这个字母添加到对象中 拿字母当键 次数为1 当值
            str2[key] = 1;
          }
        }
        //循环遍历这个对象 输出每个字母和出现的次数
        for (var key in str2) {
          console.log(key + "这个字母出现了" + str2[key] + "次");
        }
  • 相关阅读:
    JVM-Java程序性能监控-初级篇
    一段获取app性能指标的py脚本
    一段从TXT导入excel的py脚本
    matplotlib根据Y轴数量伸缩画图的py脚本
    jsonpath读取json数据格式公用方法!!!
    python安装插件包注意事项
    Jenkins持续集成
    Jenkins简介&邮箱配置
    unittest框架扩展(基于代码驱动)自动化-下
    unittest框架扩展(自动生成用例)自动化-上
  • 原文地址:https://www.cnblogs.com/wanguofeng/p/10511375.html
Copyright © 2011-2022 走看看