String 字串

Node.js String 字串

變數加入字串中

在設定字串時使用鍵盤左上角 重音符 將字串括起來,然後中間要插入的變數使用 ${變數名稱} 即可將變數資料插入到字串中間

const my_name = 'KJ';
// 將其他變數加入字串中
const message = `Hi, my name is ${my_name}`;
console.log(message);

字串函式

變數 說明
String.slice() 分割字串
String.substring() 分割字串
String.replace() 取代字串
String.charAt() 字串第幾個字
String.charCodeAt() 字串第幾個字的 UTF-16 code
String.fromCharCode() 從 UTF-16 code 轉換成字串
String.codePointAt() 字串第幾個字的 Unicode code
String.indexOf() 字串在第幾個索引位置,從 0 開始數,若找不到回傳 -1
String.search() 搜尋符合正規表示式文字位置
String.match() 符合正規表示式的文字,有找到回傳陣列,沒找到回傳 null
String.matchAll() 符合正規表示式的文字,有找到回傳陣列,沒找到回傳 null,有更詳細的比對資訊
String.split() 切割字串
String.padEnd() 填入字串到字尾
String.padStart() 填入字串到字首
String.concat() 連接字串
String.startsWith() 搜尋起始字串是否為指定字串
String.endsWith() 搜尋結為字串是否為指定字串
String.trim() 去除前後空白
String.trimEnd() 去除後方空白
String.trimStart() 去除前方空白
String.repeat() 重複字串
String.toLowerCase() 轉換成小寫
String.toUpperCase() 轉換成大寫
String.toString() 轉換成字串類型變數
String.includes() 判斷字串是否存在(大小寫不同)
String.matchAll() 取得符合正規表示式的字串陣列

String.slice() 分割字串

const str = 'JavaScript';

console.log(str.slice(1, 3));
// expected output: "av"

console.log(str.slice(2));
// expected output: "vaScript"

String.substring() 分割字串

const str = 'JavaScript';

console.log(str.substring(1, 3));
// expected output: "av"

console.log(str.substring(2));
// expected output: "vaScript"

String.chatAt() 字串第幾個字

let my_name = "Hi, My name is KJ";
// M
console.log(my_name.charAt(4));

charCodeAt 字串第幾個字的 UTF-16 code

let my_name = "Hi, My name is KJ";
// 77
console.log(my_name.charCodeAt(4));

取得指定字串的 Ascii

// 56
console.log('A'.charCodeAt(0));
// 97
console.log('a'.charCodeAt(0));
// 98
console.log('abc'.charCodeAt(1));

String.fromCharCode() 從 UTF-16 code 轉換成字串

// a
String.fromCharCode(97);
// b
String.fromCharCode(98);
// c
String.fromCharCode(99);

String.indexOf() 字串在第幾個索引位置

從 0 開始數,若找不到回傳 -1

let my_name = "Hi, My name is KJ";
// 15
console.log(my_name.indexOf('KJ'));
let my_name = "Hi, My name is KJ";
// -1
console.log(my_name.indexOf('Unknown'));

String.match() 符合正規表示式的文字

有找到回傳陣列,沒找到回傳 null

const paragraph = 'The quick brown fox jumps over the lazy dog. It barked.';
const regex = /[A-Z]/g;
const found = paragraph.match(regex);
// [ 'T', 'I' ]
console.log(found);

const paragraph = 'the quick brown fox jumps over the lazy dog. it barked.';
const regex = /[A-Z]/g;
const found = paragraph.match(regex);
// null
console.log(found);

String.split() 切割字串

const message = 'Hi, my name is Kay Jay';

// 從空白切割
const words = message.split(' ');
// [ 'Hi,', 'my', 'name', 'is', 'Kay', 'Jay' ]
console.log(words);

// 切割每個字元
const chars = message.split('');
// [
//     'H', 'i', ',', ' ', 'm',
//     'y', ' ', 'n', 'a', 'm',
//     'e', ' ', 'i', 's', ' ',
//     'K', 'a', 'y', ' ', 'J',
//     'a', 'y'
// ]
console.log(chars);

// 複製字串成一個陣列
const messageCopyArray = message.split();
// [ 'Hi, my name is Kay Jay' ]
console.log(messageCopyArray);

String.padEnd() 填入字串到字尾

const my_name = 'KJ';

// 填入指定字串到字尾
// "KJ....."
console.log(my_name.padEnd(7, '.'));

// 填入空白到字尾
// "KJ     "
console.log(my_name.padEnd(7));

String.padStart() 填入字串到字首

const my_name = 'KJ';

// 填入指定字串到字首
// ".....KJ"
console.log(my_name.padStart(7, '.'));

// 填入空白到字首
// "     KJ"
console.log(my_name.padStart(7));

String.trim() 去除前後空白

const my_name = '   KJ   ';

// "   KJ   "
console.log(my_name);

// "KJ"
console.log(my_name.trim());

String.repeat() 重複字串

let my_name = "KJ";
// KJKJKJ
console.log(my_name.repeat(3));

參考資料