每個開發人員都應該知道的 JavaScript 字符串操作技術
在 JavaScript 中,字符串是不可變的,可以幫助我們存儲包含字符、數字和 Unicode 的文本。 此外,JavaScript 包含許多用于以各種方式創建和操作字符串的內置函數。
在本文中,我將討論每個開發人員都應該知道的 JavaScript 字符串操作技術。
1.將字符串拆分成字符數組
作為開發人員,我們面臨許多需要將字符串拆分為字符數組的情況。 例如,它是軟件工程師面試中被問到最多的問題之一。 在 JavaScript 中,有很多方法可以將字符串拆分為字符數組:
split()
split() 方法將一個字符串分成兩個或多個子字符串的有序列表并返回它,具體取決于提供的模式、分隔符或分隔符。
let quote = 'I am Nipuni';
// Split string using the space character
let array1 = quote.split(' ');
console.log(array1);
// ["I", "am", "Nipuni"]
// Split string using an empty string (on each character)
let array2 = quote.split('');
console.log(array2);
// ["I", " ", "a", "m", " ", "N", "i", "p", "u", "n", "i"]
from()
Array 類的 from() 方法是 split() 方法的主要競爭對手。 它允許我們從數據源創建一個數組。 我們還可以使用它從可迭代的字符串中創建一個數組。
let name = "Nipuni Arunodi";
// String to array of chracters
let nameChars = Array.from(name);
console.log(nameChar);
// ["N","i","p","u","n","i"," ","A","r","u","n","o","d","i"]
擴展運算符 (…)
擴展運算符是另一個 JavaScript 功能,可幫助我們從字符串創建數組。
let name = "Nipuni Arunodi";
// Spread out string into an array
let nameChar = [name];
console.log(nameChar);
// ["N","i","p","u","n","i"," ","A","r","u","n","o","d","i"]
2.檢查字符串中的特定序列
與拆分類似,有很多方法可以檢查 JavaScript 字符串中的特定序列。 includes() 方法、indexOf() 或正則表達式可用于此類目的。 但是,includes() 是確定字符串是否包含一個字母或一系列字母的最常用方法。 它是專門為此目的而創建的。
const text = "Hi, My name is Nipuni"
console.log(text.includes("Nipuni"));
// true
console.log(text.includes("Arunodi"));
// false
3.檢查字符串是否以特定序列開頭或結尾
includes() 檢查整個字符串中的特定序列。 如果您想確定一個字符串是以特定子字符串開頭還是結尾,有兩種專門的方法。
string 方法 startsWith() 確定字符串是否以特定子字符串開頭。 如果字符串以指定的子字符串開頭,它將返回 true。 否則,它返回 false。
const text = "Hi, My name is Nipuni"
console.log(text.startsWith("Hi")); // true
endsWith() 方法允許我們確定一個字符串是否以指定的字符串結尾。
const text = "Hi, My name is Nipuni"
console.log(text.endsWith("Hi")); // false
4. 在多個分隔符上拆分一個字符串
最初,我提到 split() 函數可用于將字符串拆分為數組。 同樣,您可以將正則表達式傳遞給 split() 函數以同時在多個運算符上拆分字符串。
// Split on comma (,) and semicolon (;).
const list = "Car,Bus;Train"
const vehicles= list.split(/[,;]/);
console.log(fruits);
// ["Car", "Bus", "Train"]
5. 反轉字符串中的字符
這是入門級開發人員面試的另一個常規問題。 有許多方法可以使用 JavaScript 反轉字符串。 例如,我們可以將 split() 方法與 reverse() 和 join() 方法結合起來。
使用這種方法,首先,您需要使用 split() 將字符串拆分為一個數組。 接下來,您使用 reverse() 反轉數組,然后最后使用 join() 函數再次加入它。 這是在 JavaScript 中反轉字符串的最簡單方法。
const word = "Nipuni";
const reversedWord = [word].reverse().join("");
console.log(reversedWord); // "inupiN"
6.多次復制一個字符串
repeat() 是 JavaScript 中的一個字符串方法,它允許我們重復一個字符串指定的次數。 由于 repeat() 方法是一個字符串對象方法,它必須與 String 類的特定實例一起使用。
// Concatenate "0" 10 times.
const zeroString= "0".repeat(10);
console.log(zeroString); // "0000000000"
7. 將字符串填充到特定長度
您可能希望您的字符串有時具有指定的長度。 如果你的字符串太短,你會想要填補空白,直到它達到所需的長度。 以前,人們經常為此使用庫。 相反,您現在可以使用 padStart() 和 padEnd() 方法在開頭或結尾填充字符串。
// Add 0 to the beginning until the string has a length of 10.
const string = "001".padStart(10, "0");
console.log(string); // "0000000001"
// Add * to the end until the string has a length of 10.
const string = "99".padEnd(10, "*");
console.log(string ); // "99********"
8. 計算字符串中的字符
您可以輕松地使用 string.length 方法來獲取字符串的長度。 它將返回字符串中的字符數。
const word = "Nipuni";
console.log(word.length); // 6
9. 將字符串中的字母轉換為大寫或小寫
您可以使用 toUpperCase() 和 toLowerCase() 方法將字符串中的字符分別轉換為大寫或小寫。 例如,如果您需要將第一個字母大寫,您可以使用以下方法:
// Method 1 - To Uppercase
let name = "nipuni";
name = name[0].toUpperCase() + name.substr(1);
console.log(name); // "Nipuni"
// Method 1 - To Lowercase
name = name[0].toLowerCase() + name.substr(1);
console.log(name); // "nipuni"
// Method 2 - To Uppercase
let name = "nipuni";
const characters = [name];
characters[0] = characters[0].toUpperCase();
name = characters.join("");
console.log(name); // "Nipuni"
// Method 2 - To Lowercase
const characters = [name];
characters[0] = characters[0].toLowerCase();
name = characters.join("");
console.log(name); // "Nipuni"
10.替換所有出現的字符串
有幾種方法可以替換所有出現的字符串。 replace() 方法或帶有全局標志的正則表達式是開發人員使用的一些常用方法。
但是,JavaScript 在 2021 年引入了一種名為 replaceAll() 的新方法,可以一次替換所有出現的內容。 但是,目前并非所有瀏覽器或最新版本的 Node.js 都可以使用這種新方法。
const text = "I like Cars. Cars have 4 wheels"
console.log(text.replace(/Cars/g, "Vans"));
// "I like Vans. Vans have 4 wheels"
console.log(text.replaceAll("Cars", "Vans"));
// "I like Vans. Vans have 4 wheels"
結論
在幾乎每一種編程語言中,字符串都是最基本的數據類型之一。 開發人員每天都需要在他們的項目中處理各種字符串操作。
本文討論了每個開發人員都應該知道的 JavaScript 中一些最常見的字符串操作技術。 我希望這篇文章能幫助你提高你的知識。 感謝您的閱讀。