JavaScript 字符串函數 之查找字符方法(一)


1.JavaScript查找字符方法

  

     首先看一張 有關字符串函數的查找字符的方法圖 接下里補充里面的方法說明

  

2.charAt()

      charAt() 方法返回字符串中指定位置的字符

 語法

        str.charAt(index)  index: 0 到字符串長度 -1 的一個整數。

   字符串中的字符從左向右索引,第一個字符的索引值為 0,最后一個字符(假設該字符位於字符串 stringName 中)的索引值為 stringName.length - 1。 如果指定的 index 值超出了該范圍,則返回一個空字符串。

   

3. charCodeAt()

   charCodeAt() 方法返回0到65535之間的整數,代表索引處字符的 UTF-16編碼單元(在Unicode編碼單元表示一個單一的UTF-16編碼單元的情況下,UTF-16編碼單元匹配Unicode編碼單元。否則, 比如Unicode 編碼單元 > 0x10000 的情況下,只能匹配Unicode代理對的第一個編碼單元)。如果你希望得到整點編碼值,使用codePointAt()

 語法

        str.charCodeAt(index)  index: 一個大於等於0 小於字符串長度的整數。如果不是一個數值 就默認為0;

     如果指定的index 小於0 或者大於字符串的長度 charCodeAt()返回NaN。

4. 查找位置的方法

  

A): indexOf() 方法返回指定值在字符串對象中首次出現的位置。從fromIndex位置開始查找 如果不存在 則返回-1。

  str.indexOf(searchValue[,fromIndex]);

  searchValue  一個字符串表示被查找的值。

  formIndex 可選 表示調用該方法的字符串中開始查找的位置 可以是任意整數 默認值是0。如果fromIndex < 0 則查找整個字符串(如同傳進了0)

  如果 formIndex >= str.length 則該方法返回-1 。除非被查找的字符串是一個空字符串 此時返回str.length。

     

  indexOf區分大小寫  

  'hello world'.indexOf('Hel'); //-1 返回-1

  可以用來檢測是否存在某字符串 (當檢測某個字符串是否存在於另一個字符串中 可使用下面的方法)。

  'hello world'.indexOf('hello') !== -1; //true

   'hello world'.indexOf('helol') !== -1; //false

使用indexOf 統計一個字符串中某個字母出現的次數

  這是我自己封裝的一個檢測函數

  

4.lastIndexOf

     lastIndexOf() 方法返回指定值在調用該方法的字符串中最后出現的位置 如果沒有找到則返回-1; 從該字符串的后面向前查找 從formIndex處開始

   lastIndexOf(serachValue [,formIndex])

searchValue
一個字符串,表示被查找的值。
fromIndex
從調用該方法字符串的此位置處開始查找。可以是任意整數。默認值為 str.length。如果為負值,則被看作 0。如果 fromIndex > str.length,則 fromIndex 被看作 str.length
同樣的 可以使用lastIndexOf() 也可用來計算字符在字符串中出現的次數

5. 匹配方法 String.prototype.match()

    當字符串匹配到正則表達式(regular experssion) match()方法會提取

    

    

6. replace()

    replace() 方法使用一個替換值()替換掉一個匹配模式 在原字符串中某些或所有的匹配項 並返回替換后的新字符串 這個替換模式可以是一個字符串或一個RegExp 

語法
    str.replace(regexp|substr,newSubStr|function)

參數

regexp (pattern)
一個 RegExp 對象。該正則所匹配的內容會被第二個參數的返回值替換掉。
substr (pattern)
一個要被 newSubStr 替換的字符串。
newSubStr (replacement)
 用於替換掉第一個參數在原字符串中的匹配部分的 String。該字符串中可以內插一些特殊的變量名。參考下面的使用字符串作為參數
function (replacement)
一個用來創建新子字符串的函數,該函數的返回值將替換掉第一個參數匹配到的結果。參考下面的指定一個函數作為參數

返回值

  一部分或全部匹配由替代模式所取代的新的字符串

  

7.split()

   Split() 通過把字符串分割成子字符串來把一個String 對象分割成一個字符串數組

     str.split([separator][,limit])

參數:

  separator

    指定用來分割字符串的字符 separator 可以是一個字符串或這則表達式 如果忽略separator 則返回這個字符串的數組形式 如果 separator 是一個空字符串,則 str 將會把原字符串中每個字符的數組形式返回。

  limit
一個整數,限定返回的分割片段數量。split 方法仍然分割每一個匹配的 separator,但是返回的數組只會截取最多 limit 個元素。

split 方法返回一個數組。

當找到一個 seperator 時,separator 會從字符串中被移除,返回存進一個數組當中的子字符串。如果忽略 separator 參數,則返回的數組包含一個元素,該元素是原字符串。如果 separator 是一個空字符串,則 str 將被轉換為由字符串中字符組成的一個數組。

如果 separator 是一個正則表達式,且包含捕獲括號(capturing parentheses),則每次匹配到 separator 時,捕獲括號匹配的結果將會插入到返回的數組中。然而,不是所有瀏覽器都支持該特性

Note: 當字符串為空時 split返回一個包含一個空字符串的數組 而不是一個空數組

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM