Js 常用字符串操作 API


常用的一些字符串操作 API 整理

 

1.str.charAt(index)、str.charCodeAt(index) - 返回指定位置的字符 / 字符編碼(0~65535)

  index - 必須,表示字符串中某個位置的數字,即字符在字符串中的下標,從 0 開始。

  charAt(index),如果參數 index 不在 0 與 string.length 之間,該方法將返回一個空字符串。

  charCodeAt(index),如果 index 是負數,或大於等於字符串的長度,則 charCodeAt() 返回 NaN。

 

2.str.indexOf(searchvalue [,fromindex]) - 返回某個指定的字符串值(searchvalue)在字符串中首次出現的位置,如果沒有,返回 -1。

  searchValue - 必需。規定需檢索的字符串值。

  fromindex - 可選的整數參數。規定在字符串中開始檢索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略該參數,則將從字符串的首字符開始檢索。

  

  注意:searchValue,大小寫敏感。

 

3.str.lastIndexOf(searchvalue [,fromindex]) - 返回一個指定的字符串值最后出現的位置,在一個字符串中的指定位置從后向前搜索。

  searchValue - 必需。規定需檢索的字符串值。

  fromindex - 可選的整數參數。規定在字符串中開始檢索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略該參數,則將從字符串的最后一個字符處開始檢索。

 

  說明:該方法將從尾到頭地檢索字符串 stringObject,看它是否含有子串 searchvalue。開始檢索的位置在字符串的 fromindex 處或字符串的結尾(沒有指定 fromindex 時)。如果找到一個 searchvalue,則返回 searchvalue 的第一個字符在 stringObject 中的位置。stringObject 中的字符位置是從 0 開始的。

var str="Hello world!"
document.write(str.lastIndexOf("Hello") + "<br />")      // 0
document.write(str.lastIndexOf("World") + "<br />")      // -1
document.write(str.lastIndexOf("world"))      // 6
document.write(str.lastIndexOf("llo",1))      // -1

 

4.str.concat(stringX,stringX,...,stringX) - 拼接多個字符串,返回一個新的字符串。

  返回值是一個新的字符串,實際運用時使用 ‘+’ 更快捷。

 

5.str.replace(regexp/substr,replaceStr) - 在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串。

  regexp / substr - 正則對象或者 str 中的目標子串;

  replaceStr - 規定了替換文本或生成替換文本的函數。

 

  返回值是一個新的字符串,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之后得到的。

 

6.str.split(separator,howmany) - 把一個字符串分割成字符串數組。與 Array.join 執行的操作是相反的。

  separator - 必需。字符串或正則表達式,從該參數指定的地方分割 str;

  howmany - 可選。該參數可指定返回的數組的最大長度。如果設置了該參數,返回的子串不會多於這個參數指定的數組。如果沒有設置該參數,整個字符串都會被分割,不考慮它的長度。

 

  返回值是一個字符串數組。該數組是通過在 separator 指定的邊界處將字符串 stringObject 分割成子串創建的。返回的數組中的字串不包括 separator 自身。

 

  注意:如果把空字符串 ("") 用作 separator,那么 str 中的每個字符之間都會被分割。

 

7.str.slice(start [,end]) - 提取字符串的某個部分,並以新的字符串返回被提取的部分。

  start - 要抽取的片斷的起始下標。如果是負數,則該參數規定的是從字符串的尾部開始算起的位置。也就是說,-1 指字符串的最后一個字符,-2 指倒數第二個字符,以此類推;

  end - 緊接着要抽取的片段的結尾的下標。若未指定此參數,則要提取的子串包括 start 到原字符串結尾的字符串。如果該參數是負數,那么它規定的是從字符串的尾部開始算起的位置。

 

  返回值是一個新的字符串。包括字符串 stringObject 從 start 開始(包括 start)到 end 結束(不包括 end)為止的所有字符。

var str="Hello happy world!"
document.write(str.slice(6,11)) // happy

 

8.str.substring(start [,stop]) - 提取字符串中介於兩個指定下標之間的字符。

  start - 必需。一個非負的整數,規定要提取的子串的第一個字符在 stringObject 中的位置。

  stop - 可選。一個非負的整數,比要提取的子串的最后一個字符在 stringObject 中的位置多 1。如果省略該參數,那么返回的子串會一直到字符串的結尾。

 

  返回值是一個新的字符串,該字符串值包含 str 的一個子字符串,其內容是從 start 處到 stop-1 處的所有字符,其長度為 stopstart

  

  說明:如果參數 startstop 相等,那么該方法返回的就是一個空串(即長度為 0 的字符串)。如果 startstop 大,那么該方法在提取子串之前會先交換這兩個參數。

    與 slice() 方法不同的是,substring() 不接受負的參數。

 

substring 和 slice 之間的區別在與 start 為負數時候的表現:

  substring 很粗暴,直接將負數變成 0,即 start = 0;

  slice 會先將 start 與 字符串長度相加,然后將這個值與 0 比大小,> 0 則 start = 該值,<= 0 則 start = 0;

 

另外, str.subStr(start, length) 方法, ECMAscript 並沒有進行標准化,所以不建議使用這個 api。

 


免責聲明!

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



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