2018-09-27.字符串

1.字符串:一堆字符組成的簡單的數(shù)據(jù)集合。

定義:
單引號定義
雙引號定義

  • 沒有太大的區(qū)別,在js里面引號里面是不能解析變量的。

eg:

<script>
var a = 111;
var str = 'hhhh {a} hhhh';
console.log(str);
var str = "hhhh {a} hhhh";
console.log(str);
</script>
  • 單引號里面可以包含雙引號,雙引號可以包含單引號。
    但是單引號里面如果想要包含單引號,就需要轉(zhuǎn)義字符轉(zhuǎn)義里面的單引號。
    eg:
<script>
// var str = 'la"l"a"la';
// var str = "la'la'l'a"
var str = 'la\nl\\a\'la';
console.log(str);
</script>
  • 常見的轉(zhuǎn)義字符:
    \0:null(\u0000)
    \b:后退鍵(\u0008)
    \f:換頁符(\u000C)
    \n:換行符(\u000A)
    \r:回車鍵(\u000D)
    \t:制表符(\u0009)
    \v:垂直制表符(\u000B)
    ':單引號(\u0027)
    ":雙引號(\u0022)
    \:反斜杠(\u005C)

  • 字符串的拼接:+
    字符串的加法就是字符串的拼接。只要加號兩邊有一個是字符串,那么運行的就是字符串的拼接。

2.字符串與數(shù)組的關(guān)系

字符串也可以使用下標的方式獲取出對應(yīng)位置的字符。
eg:

<script>
var str = 'gsdnkashgnua';
// str.length = 3;
str[0] = 'h';
console.log(str);
console.log(str.length);
</script>

字符串與數(shù)組的相似也只有這個下標還有l(wèi)ength。

  • length:字符串的長度。
    字符串的length是一個固定的值,不是動態(tài)變化的。對 length進行的操作都不影響字符串。對字符串的下標進行的修改也是不生效的。
    數(shù)組轉(zhuǎn)化為字符串:join
    eg:
<script>
var a = ['a','v','ddd','w','ads'];
console.log(a.join("aaas"));

var str = 'ahdsunaskldsa';
console.log(str.split('a'));
</script>

字符串拆分為數(shù)組:split
eg:

<script>
var a = ['a','v','ddd','w','ads'];
console.log(a.join("aaas"));

var str = 'ahdsunaskldsa';
console.log(str.split('a'));
</script>
  • replace:替換,默認替換第一個符合條件的字符串或者字符。
    如何全局替換:使用/g表達全局替換。
    例如:/jh/g
    eg:
<script>
var str = 'adjhskhgualsjdhna';
console.log(str);
console.log(str.replace(/jh/g,'m'));
</script>
  • indexOf:查找某個字符或者字符串所在字符串中的位置。返回的是第一個符合條件的起始位置。如果找不到返回條件就返回-1。
    eg:
<script>
    var str ='sahuhdsa';
    console.log(str.indexOf(5));    //-1
    console.log(str.indexOf('d'));  //5
    console.log(str.indexOf('ah')); //1

    console.log(str.lastIndexOf('a'));  //7
</script>
  • lastindexOf:查找字符串的位置,但是查找字符串的順序是從后向前的。

  • charAt:按照給出的索引在字符串中查找這個字符串中的字符。
    eg:

<script>
        var str = 'shahduasdhsa';
        console.log(str.charAt(5)); //u

        console.log(str.charAt(0));//s
</script>
  • trim:去除一個字符串空格,默認去除字符串兩邊的空格。但是不能去除其他字符。
    eg:
<script>
    var str = 'jsajd ajadsikj';
    console.log(str.length);
    console.log(str.trim('j').length);
    console.log(str.trim());
</script>
  • match:匹配函數(shù),主要用于正則匹配。一般用于驗證……
    正則:醫(yī)生的藥方,道士的符,程序員的正則。

eg:

<script>
var str = 'dasjhlimaoduiajq283498skhyugulimaodyausygyauzhangzhenagsdubyas';
console.log(str.match(/\d/));
</script>
  • concat:合并字符串,將兩個字符串連接在一起。

eg:

<script>
var str = 'sahgdasj';
var str1 = 'dshkjkdhfu';
console.log(str.concat(str1));
</script>

*slice(start,end):截取,截取出來的內(nèi)容是從start開始到end-1結(jié)束。slice(start,-end)如果end是一個負數(shù),那么表示的位置是從后向前數(shù)。(從后向前數(shù)位置是時沒有0)-start也是表示開始的位置向前數(shù)的。
eg:

<script>
var str = 'ahdushkad';
// console.log(str.slice(-4,-1)); //hka
// console.log(str.substring(-1,-4)); //hdu
console.log(str.substr(2,4)); //dush
</script>
  • substring(start,end):截取,截取出來的內(nèi)容是從start開始到end-1結(jié)束。但是不能類似于sclic有負數(shù)。
    eg:
<script>
var str = 'ahdushkad';
// console.log(str.slice(-4,-1)); //hka
// console.log(str.substring(-1,-4)); //hdu
console.log(str.substr(2,4)); //dush
</script>
  • substr:第一個參數(shù)表示截取開始的位置,第二個位置表示截取的長度。這三個函數(shù)如果沒有第二個參數(shù),就會一直截取到字符串的結(jié)束位置。

  • toLowerCase:將字母轉(zhuǎn)化為小寫字母。

  • toUpperCase:將字母轉(zhuǎn)化為大寫字母。

eg:

<script>
var str = 'dsahjksnHBSJDKBsndjkfBGDKSFNDKdnfjks';
console.log(str.toLowerCase());
console.log(str.toUpperCase());
</script>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容