以下針對不同類型的字串方法做分類整理:
回傳單一字元 charAt():回傳指定位置的字元 在參數中放入 0 到 字串長度-1 的數字,
1 2 let str = "HELLO WORLD" ;let char = str.charAt(2 )
charCodeAt():回傳指定位置字元的 Unicode 編碼 在參數中放入 0 到 字串長度-1 的數字。
1 2 let str = "HELLO WORLD" ;let char = str.charCodeAt(0 );
回傳新字串 concat():連接多個字串 參數中放入欲連接的字串。
1 2 3 let str1 = "Hello " ;let str2 = "world!" ;let n = str1.concat(str2);
1 2 3 4 5 let str1 = "Hello " ;let str2 = "world!" ;let str3 = "mavis!" ;let n = str1.concat(str2,str3);
repeat():複製字串數次 參數中放入要複製的次數
1 2 let str = "Hello!" ;let n = str.repeat(3 );
slice():提取字串片段 參數中可放入兩個值:slice(起始位置,結束位置)
起始位置,可為負值
(選填)結束位置,可為負值,預設會傳到字串結尾
1 2 let str = "Hello world!" ;let n = str.slice(0 ,5 );
1 2 let str = "Hello world!" ;let n = str.slice(-2 ,4 );
substr():提取字串片段 參數中可放入兩個值:substr(起始位置,提取字串長度)
起始位置,可為負值
(選填)提取字串長度,預設回傳到字串結尾
1 2 let str="Hello world!" ;let n = str.substr(6 ,5 )
substring():提取字串片段 參數中可放入兩個值:substring(起始位置,結束位置)
起始位置,不可為負值
(選填)結束位置,不可為負值,預設會傳到字串結尾
1 2 let str = "Hello world!" ;let n = str.substring(0 ,5 );
1 2 let str="Hello world!" ;let n = str.substring(-2 ,5 );
trim():去除字串兩邊空白 空白包含 enter、tab、換行符號,並不適用於 null, undefined。
1 2 let str=" mavis " ;let n = str.trim();
toLowerCase():字串轉換成小寫 將字串轉換成小寫
1 2 let str="MAVIS" ;let n = str.toLowerCase();
toUpperCase():字符串轉換成大寫 字串轉換成大寫
1 2 let str="mavis" ;let n = str.toUpperCase();
檢查字串 endsWith():判斷字串是否以特定字串結尾 判斷字串是否以特定字串結尾,回傳 Boolean 值。參數放入要判斷的特定字串。
1 2 3 4 let str = "Hello world" ; str.endsWith("world" ) str.endsWith("World" )
startsWith():判斷字串是否以特定字串開頭 判斷字串是否以特定字串開頭,回傳 Boolean 值。參數放入要判斷的特定字串。
1 2 3 4 let str = "Hello world" ; str.endsWith("Hello" ) str.endsWith("hello" )
includes():判斷字串中是否包含特定子串 判斷字串中是否包含特定子串,回傳 Boolean 值, 參數中可放入兩個值:includes(判斷的特定字串,起始位置)
要判斷的特定字串
(選填)起始位置,預設為 0
1 2 let str = "Hello world!!!!" ; str.includes("world" );
1 2 3 let str = "Hello world,nice to meet you!" ; str.includes("world" , 10 );
indexOf():尋找字串首次出現的位置 如果不包含,就回傳 -1。 參數中可放入兩個值:indexOf(判斷的特定字串,起始位置)
要判斷的特定字串
(選填)起始位置,預設為 0
1 2 3 4 let str="Hello world!" ; str.indexOf("world" ); str.indexOf("World" );
lastIndexOf():從後尋找字串首次出現的位置 如果不包含,就回傳 -1。 參數中可放入兩個值:lastIndexOf(判斷的特定字串,起始位置)
要判斷的特定字串
(選填)起始位置,預設為 0
1 2 3 4 let str="Hello world!world!" ; str.lastIndexOf("world" ); str.lastIndexOf("World" );
1 2 3 var str="Hello world!Hello world!" ; str.lastIndexOf("world" , 10 );
檢查字串 - 可與正規表達式搭配 正規表達式 是被用來匹配字串中字元組合的模式,若還不清楚使用方法,可以參考這篇文章 。
search():尋找與字串或正規表達式相同的值 尋找與正規表達式相同的值,回傳字串開始的索引值,沒找到回傳 -1,參數中放入要尋找找的值。
1 2 let str="Hello!world!Hello!world!" ; str.search("world" );
1 2 3 let str="Hello!world!Hello!world!" ; str.search(/world/ );
match():尋找與字串或正規表達式相同的多個值 尋找與字串或正規表達式相同的多個值,回傳第一個成功的詳細資料,參數中放入要尋找找的值。
1 2 let str="Hello!world!Hello!world!" ; str.match("world" );
1 2 3 let str="Hello!world!Hello!world!" ; str.match(/world/ );
1 2 3 let str="Hello!world!Hello!world!" ; str.match(/world/g );
replace():替換與字串或正規表達式相同的值 尋找與字串或正規表達式相同的值,並替換第一個值。 參數中放入兩個值:replace(要體換掉的值,要替換上去的值)
要替換掉的值
要替換上去的值
1 2 3 let str="Hello!world!Hello!world!" ; str.replace("world" ,"mavis" );
1 2 3 let str="Hello!world!Hello!world!" ; str.replace(/world/ ,"mavis" );
1 2 3 let str="Hello!world!Hello!world!" ; str.replace(/world/g ,"mavis" );
replaceAll():替換與字串或正規表達式相同的多個值 尋找與字串或正規表達式相同的多個值,並替換所有值。 參數中放入兩個值:replaceAll(要替換掉的值,要替換上去的值)
要替換掉的值
要替換上去的值
1 2 let str="Hello!world!Hello!world!" ; str.replaceAll("world" ,"mavis" );
1 2 3 let str="Hello!world!Hello!world!" ; str.replaceAll(/world/ ,"mavis" );
字串與陣列 split():字串分割為陣列 參數中可放入兩個值:split(分割條件,回傳陣列最大長度)
(選填)隔開陣列中每個元素的字串,預設不改變字串
(選填)回傳陣列的最大長度,預設不考慮
1 2 3 4 let str="Hello!world" ;let n = str.split(); n = str.split("" ); n = str.split("!" );
join():陣列合併為字串 參數可(選填)放入隔開陣列中每個元素的字串:join(分割字串)
,預設為,
1 2 3 4 let arr = ["c" ,"a" ,"t" ];let n = arr.join(); n = arr.join("" ) n = arr.join("!" );