1. 程式人生 > 其它 >js陣列&字串常用方法(二)

js陣列&字串常用方法(二)

技術標籤:js

字串常用方法

  • 獲取類方法

charAt()
該方法用來獲取指定位置的字串,若超出字串長度範圍,返回一個空的字串。

let str = 'hello world'
let newStr = str.charAt(4)
newStr // o

charCodeAt()
該方法返回指定位置的 Unicode 編碼,超出範圍返回NaN

let str = 'hello world'
let newStr = str.charCodeAt(6)
newStr // 119

fromCharCode()
該方法可接受一個或多個 Unicode 值,然後返回一個字串。另外它是String的靜態方法,字串的每個字元都由單獨的數字 Unicode 編碼指定。

let str = String.fromCharCode(97,98,99,100)
str // abcd
  • 查詢類方法

indexOf()
indexOf()用來檢索指定字串中首次出現的位置。它可以接受兩個引數,第一個引數表示要查詢的字串,第二個引數表示查詢開始的位置,省略的話則從索引0開始查詢,若沒有找到返回 -1。

let str = 'hello world'
let newStr1 = str.indexOf('l')
let newStr2 = str.indexOf('t')
newStr1 // 2
newStr2 // -1

lastIndexOf()
該方法用來檢索指定字串在字串中最後

出現的位置,沒找到返回 -1。

let str = 'hello world'
let newStr1 = str.lastIndexOf('l')
let newStr2 = str.lastIndexOf('t')
newStr1 // 3
newStr2 // -1

search()
search()方法用於檢索字串中指定的子字串,或檢索與正則表示式想匹配的子字串。它會返回第一個匹配的子字串的起始位置,若沒有匹配的,則返回 -1。

let str = 'hello world'
let newStr1 = str.search('l')
let newStr2 = str.search('f'
) let newStr3 = str.search(/Llo/i) newStr1 // 2 newStr2 // -1 newStr3 // 2

match()
該方法可在字串內檢索指定值,或找到一個或多個正則表示式的匹配。它與indexOf()相類似,但是它返回一個包含指定指定的陣列,而不是字串的位置。若找不到返回null。

let str = 'hello world'
let newStr1 = str.match('l')
let newStr2 = str.match('f')  // null

在這裡插入圖片描述

  • 擷取類方法

substring()

substring()是最常用的字串擷取方法,它可以接受兩個引數(引數不能為負值),分別是要擷取開始的位置和結束位置。它返回一個新的字串,其內容是從start處到 end - 1 的所有字元。若結束引數(end)省略,則表示從start位置一直擷取到最後。

let str = 'hello world'
let newStr = str.substring(2, 4)
newStr // ll

substr()
substr() 接收一個或兩個引數(開始位置和擷取的字元個數),擷取的字串個數從開始位置算起,若不指定擷取的字元個數,預設從擷取開始位置後面的全部字元。

let str = 'hello world'
let newStr1 = str.substr(6, 2) 
let newStr2 = str.substr(-2) // 引數可以為負值,且從-1開始,而不是0
newStr1 // wo
newStr2 // orld

slice()
slice() 與 substring() 方法非常類似,接收的兩個引數也分別對應著開始位置和結束位置。而區別在於:**slice()中的引數可以為負值。**如果該引數是負數,則該引數規定的是字串的尾部開始算起的位置。也就是說,-1 指字串的最後一個字元,而不是0.

let str = 'hello world'
let newStr1 = str.slice(2, 7) // llo w
let newStr2 = str.slice(-7, -2) // o wor
  • 其他字串方法

replace()
該方法用來進行字串替換操作,它可以接收兩個引數,前者為被替換的子字串(可以是正則表示式),後者為用來替換的文字。

如果第一個引數傳入的是子字串或是沒有進行全域性匹配的正則表示式,那麼replace() 方法將只進行一次替換(即替換最前面的),返回經過一次替換的字串。

let str = 'hello world'
let newStr1 = str.replace('world', 'javascript') // 'hello javascript'

// 在沒有進行全域性匹配的情況下,只會將第一個匹配的字元進行替換
let newStr2 = str.replace('l', '*') // he*lo world
let newStr3 = str.replace(/l/g, '*') // he**o wor*d

concat()
該方法用於連線兩個或多個字串,相當於“ + ”運算子

let str = 'hello world'
let newStr = str.concat('say Hi') 
newStr // hello world say Hi

split()
split() 方法用於將一個字串分割為一個數組。第一個引數表示分割符(分割符為字串中的子字串),第二個引數表示返回陣列的允許最大長度(一般情況下不設定)

let str = 'hello world'
let newStr = str.split(' ')
newStr .. ["hello", "world"]

toLowerCase() & toUpperCase()
toLowerCase()方法可以將字串中的大寫字母轉換為小寫
** toUpperCase()方法可以將字串中的小寫字母轉換為大寫**

let str = 'hello world'
let newStr1 = str.toLowerCase() // hello world
let newStr2 = str.toUpperCase() // HELLO WORLD

trim()
trim()方法用來去除字串的首尾空格

let str = ' hello world '
let newStr = str.trim()  // 'hello world'