天天看點

第九章字元串

9.1字元串的構造

9.1.1字元串常量

9.1.2轉義序列

序列

所代表的字元

\0

NULL字元

\b

倒退符

\t

水準制表符

\n

換行符

\v

垂直制表符

\f

換頁符

\r

回車符

\"

雙引号

\'

單引号

\\

反斜線

\uXX

由兩位十六進制數值XX指定的Latin-1字元

\uXXXX

由四位十六進制數值XXXX指定的Unicode字元

\XXX

由一位到三位八進制數指定的Latin-1字元。ECMAScript v3不支援,不推薦使用

 9.1.3字元串構造函數

JavaScript提供了字元串構造函數String(),String()是JavaScript的核心對象之一,它接受一個參數作為字元串的初始值。但我們通常不用它來構造字元串。

注意,String構造的字元串和字元串常量不同,字元串常量的類型是基本資料類型string,而String()的類型是對象object。

String應當看作是字元串基本類型的包裝類。另外,同其他的包裝類相似,String()也可以作為普通函數來調用,此時它隻将傳遞給它的第一個參數轉換成字元串類型傳回。

String方法傳回類型.html

運作結果如下:

string

9.2字元串的使用

9.2.1比較字元串

JavaScript定義了字元串比較運算。在JavaScript中對字元串的比較是嚴格地逐字元進行比較的。比較的依據是每個字元的Unicode編碼。一個字元串a大于另一個字元串b,當且僅當字元串a的某一位字元的Unicode編碼大于b相應位字元的Unicode編碼或者b相應位字元不存在,并且a在這一位之前的任何一位字元的Unicode編碼均不小于b相應位的字元編碼。反之,一個字元串a小于另一個字元串b,當且僅當字元串a的某一位字元的Unicode編碼小于b相應位字元的Unicode編碼或者a相應位字元不存在,并且a在這一位之前的任何一位字元的Unicode編碼均不大于b相應位的字元編碼。一個字元串a等于另一個字元串b,當且僅當它們的字元數目完全相同并且相應位字元的Unicode編碼也完全相同。

 9.2.2抽取和檢索子串

String對象的charAt方法和charCodeAt方法用來抽取字元串指定位置的字元。它們的唯一參數指定了該字元的位置。兩個方法的差別是,charAt方法傳回的是指定位置上的字元,而charCodeAt方法傳回的是該字元的Unicode編碼。如果指定位置的字元不存在,charAt方法傳回空字元串"",而charCodeAt方法傳回NaN。

 String對象的indexOf方法和lastIndexOf方法用來在字元串中檢索一個字元或一個子串,如果該字元或子串存在,indexOf傳回它第一次出現在字元串中的位置,這個位置是用一個從0開始的數值來表示的。

 lastIndexOf方法和indexOf方法的差別是它查詢的字元串的順序是從字元串末尾開始朝前的。

如果被檢索的字元或者子串在字元串中不存在,indexOf方法和lastIndexOf方法都傳回數值-1。

String對象的substring方法和slice方法用來抽取字元串的子串。這兩個方法非常類似,都接受兩個數值作為參數,這兩個數值分别指定了子串的起止位置。傳回字元串由起始位置開始直到終止位置(不包括終止位置)的字元構成的子串。二者的差別是,slice接受負數值作為參數,這時候相對位置從字元串的末尾開始計算而不是從字元串頭開始計算。如果slice的參數表示的起始位置大于終止位置,那麼它的傳回值是一個空串,但是如果substring的第一個參數大于第二個參數,它在抽取子串前會先交換這兩個參數的值。

String的slice方法和Array的slice方法非常想似。

 9.2.3連接配接拆分字元串

String對象的split方法可以用來拆分字元串。它接受一個字元串或正規表達式參數作為分割符,傳回被這個分割符分割之後的字元串數組。split方法的第二參數指定了分割後字元串數組的最大長度,大于這個長度的子串将被舍棄。如果預設這個參數,則不舍其任何子串。

字元串的連接配接可以通過運算符“+”,也可以通過數組的join方法。

第三種字元串連接配接的方法是字元串的concat方法,它和數組的concat方法是類似的,隻不過參數為多個字元串,concat方法将它們依次連接配接到字元串的末尾。注意,同數組的concat方法一樣,字元串的concat方法并不修改字元串本身的值。

  9.2.4 字元串的模式比對——一個字元串格式校驗的例子

 9.2.5其他方法

String.fromCharAt

它的參數是一個代表Unicode編碼的數值,傳回由這個編碼對應的Unicode字元構成的字元串。

toLowerCase

這個方法傳回一個字元串中所有字元轉換成小寫形式後的字元串。

toUpperCase

這個方法傳回一個字元串中所有字元轉換成大寫形式後的字元串。

toString valueOf

 9.3 字元串與字元數組

字元串操作函數split能夠用分割符分割字元串,分割後的結果為數組。如果以帶空字元串參數“”的split分割字元串,則結果将得到一個數組,這個數組的每一個元素分别是對應的字元串中的字元,這個數組被稱為字元數組。對應地,執行數組的join方法,能夠将數組元素連接配接成字元串,如果用空字元串“”調用它,則可以将字元數組還原為字元串。

11111

繼續閱讀