javascript 知识点 第五篇 字符串

310 阅读4分钟

五字符串

1.字符串的创建
  • 字面量

    var str = "";
    var str = String();
    
  • 构造函数

    var str = new String();
    
2.字符串长度
str.length
3.字符串API
1.str.charAt(index)
根据下标获取字符串的某一个字符
2.indexOf("")    
 查询字符再字符串中第一次出现的下标(如果没找到返回-1) 如果是两个参数。第二个参数代表从第几个查找。

3.lastIndexOf("")  
查找字符再字符串中最后一次出现的位置        
4.substring(start,end)
    不会操作原数组,截取到一个新数组中.不包括end
5.slice(start,end)
    能截取负数
    str.slice(-4,-1) 从倒数第4个到倒数第一个,不包括最后一个
    改变原字符串(str.slice(1) 截取字符串第一个)
6.substr(start,length)
    substr(3,3) 第三个截取3个数值
    两个参数时,第一个是开始的下标,第二个是截取的长度
    参数为一个时,为删除几个字符
7.split(分隔符) 将字符串转成数组
8.replace(old,newstr)  替换字符
    每次只能替换一个
9.String.fromCharCode(ascii码)
将对应的ascii码转成对应的字符
10字符串.charCodeAt()    
获取字符串中某个索引位置unicode编码值   
11.String.fromCharCode(多个值,隔开)  
可接受一个指定的 Unicode 值,然后返回一个字符串。
正则表达式:
12.str.search(接收正则表达式) 返回值为下标  如果找不到返回-1  
13.reg.exec(str)
返回值为一个数组:
  数组第一项[0]:正则所匹配到的所有信息
  数组第二项[1]:正则第一个()所取到的信息
  数组第三项[2]:正则第二 个()所取到的信息
14.str.match(reg)同上
4.ES6新增API
ES6字符串模板
        ''
        拼接变量   ${变量}
    
字符串API
    1.includes 字符串搜索
        返回值为:true false 
        var str = 'nihao';
        console.log(str.includes('n'));
    2.startsWith  endWith  判断开头或结尾
    	返回值为 truefalse
    3.repeat  复制字符串
    	str.repeat(10)
5.字符串去重
//1.charAt应用
        var str ="nihao";
            console.log(str.charAt(0));
//2.判断一个字符串的首字母是不是大写
        var firstLetter = str.charAt(0);
        if(firstLetter >="A" && firstLetter <= "Z"){
            console.log("大写")
        }else{
            console.log(false);
        }
//3.将一个字符串中大小写的个数算出来
        var 
            str ="aaaaJJJKKK",
            uppercase = 0,
            lowercase = 0;
            //利用循环对字符串进行遍历
        for(var i = 0; i < str.length; i++){
            //如果字符在a-z之间,则需要小写加1
            if(str.charAt(i) >='a' && str.charAt(i) <= 'z'){
                lowercase++;
            }else{
                uppercase++;
            }
        }
        console.log('大写' + uppercase + ';小写' + lowercase);

        // - 练习:
// 4. 判断密码中是否含有特殊字符   #¥%&*
        
        //定义两个字符串
        var special = "#$%^&*";
        var pwd = "jjjkkk#";
        //对字符串进行循环,将特殊字符和需要对比的字符进行比较
        for (var i = 0; i < special.length; i++) {
             //利用indexOf方法,如果pwd字符串中可以找到特殊字符(即!=-1(等于-1)意味着pwd中没有special中符元				素)
            if (pwd.indexOf(special[i]) != -1) {
                console.log("有特殊字符");
                break;
            }
        }


//5. 字符串去重
        //原理:定义一个空字符串,利用indexOf方法和现有字符进行比较,如果不相同(即为-1),则把现有的字符串push到临			时字符串中,最后打印临时字符串
        var str = "aacbdfddkh";
        var tempStr = "";
        for (var i = 0; i < str.length; i++) {
            if (tempStr.indexOf(str.charAt(i)) == -1) {
                tempStr += str.charAt(i);
            }
        }
        console.log(tempStr);

 // 6.判断字符串中的某个字符是不是唯一的

        var str = "aacbdfddkh";
        function onlyLetter(str,letter) {
            for (var i = 0; i < str.length; i++) {
                //从前和从后对这个字符串进行索引,如果索引到的值,下标是一样的,怎说明这个字符是唯一的
                if (str.indexOf(str.charAt(i)) == str.lastIndexOf(str.charAt(i))) {
                    console.log(letter+"唯一的");
                } else {
                    console.log(letter+"不是唯一的");
                }
            }
        }
//  7.从字符串中找出没有重复的字符。
//第一种
        var str = "aacbdfddkh";
        for (var i = 0; i < str.length; i++) {
            if (str.indexOf(str.charAt(i)) == str.lastIndexOf(str.charAt(i))) {
                console.log(str.charAt(i));
            }
        }
//第二种
        var str = "aacbdfddkh";
        function strNorepeat(){
            var strTemp = "";
            for(var i = 0;i < str.length; i++){
                if(str.indexOf(str.charAt(i)) == str.lastIndexOf(str[i])){
                    strTemp += str.charAt(i);
                }
            }
            return strTemp;
        }
        console.log(strNorepeat(str));
//8.将字符串转成数组
        var str = 'BAIDUID=9FF0B8AA8FC08CF64DD8378684FCC8C8:FG=1; PSTM=1557282068; BIDUPSID=2CF37A79FA3C0115B2D5D9E5571F67D9; BD_UPN=12314753; MCITY=-131%3A; H_WISE_SIDS=125704_133106_128700_133850_106370_133676_120170_134720_132909_133043_131247_132440_130762_132378_131518_118884_118861_118839_118834_118795_107319_132781_134391_133351_134855_132553_129656_134434_132250_127027_131861_128968_133473_133838_133847_132551_134462_134319_133577_134213_129644_131423_134608_134601_110085_134153_127969_131296_128201_134150_134231_134655_134298_134354; ispeed_lsm=2; sug=3; sugstore=0; ORIGIN=0; bdime=0; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; delPer=0; BD_HOME=0; H_PS_PSSID=1423_21091_29522_29520_29721_29567_29221_29461_28701';
        
        var newStr = str.split("; ");
       
        console.log((newStr[1].split("="))[1]);
//9.str.replace的应用
        var str = "wwwwwwwww";
        for(var i = 0; i < str.length;i++){
            str = str.replace("w","s");
        }
        console.log(str);