1. 程式人生 > >JS的字串操作(總結)

JS的字串操作(總結)

        var str1 = 'hello ';
        var str2 = 'world!';
        var str3 = str1 + str2;

        //1.concat方法
        var stri3 = str1.concat(str2);
        console.log("字串連線: ", stri3);
        console.log('---------------');
        //2.字串的長度  .length
        console.log("字串的長度:", str1.length);
        console.log('---------------');
        //3.1 字元的索引值(字元-> index)    indexOf(),lastIndexOf()
        console.log("str1: ", str1);
        console.log("獲取str1中'o'的索引值(頭->尾):", str1.indexOf("h"));
        console.log("獲取str1中'o'的索引值(尾->頭):", str1.lastIndexOf("h"));                 //str1.indexOf("h") 與 str1.lastIndexOf("h")等價???!
        console.log("獲取第6位後的'o'的索引值(頭->尾):", str3.indexOf("o", 6));
        console.log("獲取第6位後的'0'的索引值(尾->頭):", str3.lastIndexOf('o', 6));
        console.log('---------------');
        // 3.2 由索引找字元(index -> 字元)  charAt()
        console.log("str3: ", str3);
        console.log("獲得[1]位的字元:",str3.charAt(1));
        console.log("獲得[1]位的字元:",str3[1]);
        console.log("獲得[1]位的字元編碼:",str3.charCodeAt(1));

        console.log('---------------');
        //4.字串比較       localeCompare()
        var str = "yellow";
        console.log(str.localeCompare("brick"));//1
        console.log(str.localeCompare("yellow"));//0
        console.log(str.localeCompare("zoo"));//-1
        console.log('---------------');
        //5. 字串的擷取     slice(),substring(),substr()
        var str = "hello world";
        //5.1擷取起始位置到結尾
        console.log(str.slice(3));//lo world
        console.log(str.substring(3));//lo world
        console.log(str.substr(3));//lo world
        //5.2 擷取中間的字串
        console.log(str.slice(3, 7));//lo w  7表示子字串最後一個字元後面的位置  簡單理解就是包含頭不包含尾
        console.log(str.substring(3, 7));//lo w 從start處到end-1處的所有字元
        console.log(str.substr(3, 7));//lo worl 7表示返回7個字元
        //5.3 當擷取到負值時
        console.log(str.slice(3, -4));//lo w  -4+11=7表示子字串最後一個字元後面的位置  簡單理解就是包含頭不包含尾
        console.log(str.substring(3, -4));//hel  會轉換為console.log(str.substring(3,0));
        //此外由於這個方法(substring())會將較小數作為開始位置,較大數作為結束位置,所以相當於呼叫console.log(str.substring(0,3));
        console.log(str.substr(3, -4));//""空字串
        console.log('---------------');
        // 6.字串大小寫轉換   toUpperCase(),toLowerCase()
        console.log("str全部轉換成大寫:",str.toUpperCase());
        console.log("str全部轉換成小寫:",str.toLowerCase());
        console.log('---------------');
        // 7.去除多餘的空格(字串的開始和尾部的空格)  trim()
        str="   hello world   ";
        console.log('('+str.trim()+')');//(hello world)
        console.log('('+str+')');//(   hello world   )
        console.log('---------------');
        // 8.字串的替換:一個|全部       replace()
        str="cat,bat,sat,fat";
        var res=str.replace("at","one");//第一個引數是字串,所以只會替換第一個子字串
        console.log("替換第一個at:",res);//cone,bat,sat,fat

        var res1=str.replace(/at/g,"one");//第一個引數是正則表示式,所以會替換所有的子字串
        console.log("替換全部at:",res1);//cone,bone,sone,fone
        // 9.字串分割成陣列       split()
        str="red,blue,green,yellow";
        console.log(str.split(","));//["red", "blue", "green", "yellow"]
        console.log(str.split(",",2));//["red", "blue"]  第二個引數用來限制陣列大小
        console.log(str.split(/[^\,]+/));// ["", ",", ",", ",", ""]
        //第一項和最後一項為空字串是因為正則表示式指定的分隔符出現在了子字串的開頭,即"red"和"yellow"
        //[^...] 不在方括號內的任意字元  只要不是逗號都是分隔符

js的字串可參考: