iT邦幫忙

2021 iThome 鐵人賽

DAY 27
0
Modern Web

從零開始的JS學習之路系列 第 27

[Day27] String methods 字串操作方法(2)

match()

尋找字串裡符合的項目,並用陣列排序出來,可以用 g 區分大小寫或者 gi 不區分大小寫。
若括號內留空 string.match(); 會回傳空陣列[""]
如下例可以用("ain")搜尋字串,但找到第一個 ain 即停止,(/ain/)也是。

let str1 = "The rain in SPAIN stays mainly in the plain";
str1.match("ain"); // ['ain', index: 5, input: 'The rain in SPAIN stays mainly in the plain', groups: undefined]
str1.match(/ain/g); // [ain,ain,ain]
str1.match(/ain/gi); // [ain,AIN,ain,ain]

//
var str2 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
var regexp = /[A-E]/gi;
var matchesArr = str2.match(regexp);

console.log(matchesArr);
// ['A', 'B', 'C', 'D', 'E', 'a', 'b', 'c', 'd', 'e']

repeat()

可重複字串,括號內參數可指定重複次數。

const theLast4Day = "go! ";
theLast4Day.repeat(3); // "go! go! go! "

replace()

替換字元並回傳新字串,前面為指定值,後面的值會替換原本字元。

let string = "I am your father."
string.replace("father", "mother"); // 'I am your mother.'

slice()

取出部分字元,有兩個參數(index值),第一個為開始第二個為結束,string.slice(start, end)。

let ab = "Espresso Coffee Machine";
ab.slice(9, 15); // "Coffee"
ab.slice(16, 23); // "Machine"

split()

能夠簡單地將句子分隔成陣列

let string2 = "How do you do?";
string2.split(); // ['How do you do?'],省略的話會直接出現句子
string2.split(""); // ['H', 'o', 'w', ' ', 'd', 'o', ' ', 'y', 'o', 'u', ' ', 'd', 'o', '?'],雙引號內無字元
string2.split(" "); // ['How', 'do', 'you', 'do?'],雙引號內為空白
string2.split("o"); //  ['H', 'w d', ' y', 'u d', '?'],由此可知雙引號內字元為要分隔的依據
string2.split(" ", 3); // ['How', 'do', 'you'] 取到三個

toString()

將其他型別轉成字串。

let num = 23456;
num.toString(); 

trim()

刪除字串前後的空格。

let str1 = "   good~   "
str1.trim();// "good~"

參考資料

MDN-String
W3C-String


上一篇
[Day26] String methods 字串操作方法(1)
下一篇
[Day28] 正規表達式 Regular Expression
系列文
從零開始的JS學習之路30

尚未有邦友留言

立即登入留言