Phương thức chuỗi JavaScript
Phương thức chuỗi giúp bạn làm việc với chuỗi.
Phương thức và thuộc tính chuỗi
Các giá trị nguyên thủy, như "John Doe", không thể có thuộc tính hoặc phương thức (vì chúng không phải là đối tượng).
Nhưng với JavaScript, các phương thức và thuộc tính cũng có sẵn cho các giá trị nguyên thủy, vì JavaScript xử lý các giá trị nguyên thủy như các đối tượng khi thực thi các phương thức và thuộc tính.
Độ dài chuỗi JavaScript
Thuộc length
tính trả về độ dài của một chuỗi:
Thí dụ
let txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let length = txt.length;
Giải nén các bộ phận chuỗi
Có 3 phương pháp để trích xuất một phần của chuỗi:
slice(start, end)
substring(start, end)
substr(start, length)
JavaScript String Slice ()
slice()
trích xuất một phần của chuỗi và trả về phần được trích xuất trong một chuỗi mới.
Phương thức nhận 2 tham số: vị trí bắt đầu và vị trí kết thúc (không bao gồm kết thúc).
Ví dụ này cắt ra một phần của chuỗi từ vị trí 7 đến vị trí 12 (13-1):
Thí dụ
let str = "Apple, Banana, Kiwi";
let part = str.slice(7, 13);
Ghi chú
JavaScript đếm các vị trí từ 0.
Vị trí đầu tiên là 0.
Vị trí thứ hai là 1.
Nếu một tham số là số âm, vị trí được tính từ cuối chuỗi.
Ví dụ này cắt ra một phần của chuỗi từ vị trí -12 đến vị trí -6:
Thí dụ
let str = "Apple, Banana, Kiwi";
let part = str.slice(-12, -6);
Nếu bạn bỏ qua tham số thứ hai, phương thức sẽ loại bỏ phần còn lại của chuỗi:
Thí dụ
let part = str.slice(7);
hoặc, đếm từ cuối:
Thí dụ
let part = str.slice(-12);
Chuỗi con JavaScript ()
substring()
tương tự như slice()
.
Sự khác biệt là substring()
không thể chấp nhận các chỉ số âm.
Thí dụ
let str = "Apple, Banana, Kiwi";
let part = str.substring(7, 13);
Nếu bạn bỏ qua tham số thứ hai, substring()
sẽ loại bỏ phần còn lại của chuỗi.
Chuỗi JavaScript substr ()
substr()
tương tự như slice()
.
Sự khác biệt là tham số thứ hai chỉ định độ dài của phần được trích xuất.
Thí dụ
let str = "Apple, Banana, Kiwi";
let part = str.substr(7, 6);
Nếu bạn bỏ qua tham số thứ hai, substr()
sẽ loại bỏ phần còn lại của chuỗi.
Thí dụ
let str = "Apple, Banana, Kiwi";
let part = str.substr(7);
Nếu tham số đầu tiên là số âm, vị trí được tính từ cuối chuỗi.
Thí dụ
let str = "Apple, Banana, Kiwi";
let part = str.substr(-4);
Thay thế nội dung chuỗi
Phương replace()
thức thay thế một giá trị được chỉ định bằng một giá trị khác trong một chuỗi:
Thí dụ
let text = "Please visit Microsoft!";
let newText = text.replace("Microsoft", "W3Schools");
Ghi chú
Phương replace()
thức không thay đổi chuỗi mà nó được gọi.
Phương replace()
thức trả về một chuỗi mới.
Theo mặc định, replace()
phương thức này chỉ thay thế kết quả phù hợp đầu tiên :
Thí dụ
let text = "Please visit Microsoft and Microsoft!";
let newText = text.replace("Microsoft", "W3Schools");
Theo mặc định, replace()
phương thức này có phân biệt chữ hoa chữ thường. Viết MICROSOFT (với chữ hoa) sẽ không hoạt động:
Thí dụ
let text = "Please visit Microsoft!";
let newText = text.replace("MICROSOFT", "W3Schools");
Để thay thế phân biệt chữ hoa chữ thường, hãy sử dụng biểu thức chính quy có /i
cờ (không phân biệt):
Thí dụ
let text = "Please visit Microsoft!";
let newText = text.replace(/MICROSOFT/i, "W3Schools");
Ghi chú
Biểu thức chính quy được viết mà không có dấu ngoặc kép.
Để thay thế tất cả các kết quả phù hợp, hãy sử dụng biểu thức chính quy bằng /g
cờ (đối sánh toàn cục):
Thí dụ
let text = "Please visit Microsoft and Microsoft!";
let newText = text.replace(/Microsoft/g, "W3Schools");
Ghi chú
Bạn sẽ tìm hiểu thêm rất nhiều về biểu thức chính quy trong chương JavaScript Biểu thức chính quy .
Chuyển đổi sang chữ hoa và chữ thường
Một chuỗi được chuyển đổi thành chữ hoa với toUpperCase()
:
Một chuỗi được chuyển đổi thành chữ thường với toLowerCase()
:
Chuỗi JavaScript toUpperCase ()
Thí dụ
let text1 = "Hello World!";
let text2 = text1.toUpperCase();
Chuỗi JavaScript toLowerCase ()
Thí dụ
let text1 = "Hello World!"; // String
let text2 = text1.toLowerCase(); // text2 is text1
converted to lower
JavaScript String concat ()
concat()
nối hai hoặc nhiều chuỗi:
Thí dụ
let text1 = "Hello";
let text2 = "World";
let text3 = text1.concat(" ", text2);
Phương concat()
thức này có thể được sử dụng thay cho toán tử cộng. Hai dòng này thực hiện tương tự:
Thí dụ
text = "Hello" + " " + "World!";
text = "Hello".concat(" ", "World!");
Ghi chú
Tất cả các phương thức chuỗi đều trả về một chuỗi mới. Họ không sửa đổi chuỗi gốc.
Chính thức nói:
Chuỗi là bất biến: Chuỗi không thể thay đổi, chỉ được thay thế.
JavaScript String trim ()
Phương trim()
thức loại bỏ khoảng trắng từ cả hai bên của một chuỗi:
Thí dụ
let text1 = " Hello World! ";
let text2 = text1.trim();
JavaScript String Padding
ECMAScript 2017 đã thêm hai phương thức Chuỗi: padStart
và padEnd
để hỗ trợ đệm ở đầu và cuối chuỗi.
JavaScript String padStart ()
Thí dụ
let text = "5";
let padded = text.padStart(4,0);
Hỗ trợ trình duyệt
padStart()
là một tính năng của ECMAScript 2017.
Nó được hỗ trợ trong tất cả các trình duyệt hiện đại:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
padStart()
không được hỗ trợ trong Internet Explorer.
JavaScript String padEnd ()
Thí dụ
let text = "5";
let padded = text.padEnd(4,0);
Hỗ trợ trình duyệt
padEnd()
là một tính năng của ECMAScript 2017.
Nó được hỗ trợ trong tất cả các trình duyệt hiện đại:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
padEnd()
không được hỗ trợ trong Internet Explorer.
Giải nén các ký tự chuỗi
Có 3 phương pháp để trích xuất các ký tự chuỗi:
charAt(position)
charCodeAt(position)
- Quyền truy cập tài sản []
Chuỗi JavaScript charAt ()
Phương charAt()
thức trả về ký tự tại một chỉ mục (vị trí) được chỉ định trong một chuỗi:
Thí dụ
let text = "HELLO WORLD";
let char = text.charAt(0);
Chuỗi JavaScript charCodeAt ()
Phương charCodeAt()
thức trả về mã unicode của ký tự tại một chỉ mục được chỉ định trong một chuỗi:
Phương thức này trả về mã UTF-16 (một số nguyên từ 0 đến 65535).
Thí dụ
let text = "HELLO WORLD";
let char = text.charCodeAt(0);
Quyền truy cập tài sản
ECMAScript 5 (2009) cho phép truy cập thuộc tính [] trên các chuỗi:
Thí dụ
let text = "HELLO WORLD";
let char = text[0];
Ghi chú
Quyền truy cập tài sản có thể hơi khó đoán:
- Nó làm cho các chuỗi trông giống như mảng (nhưng không phải vậy)
- If no character is found, [ ] returns undefined, while charAt() returns an empty string.
- It is read only. str[0] = "A" gives no error (but does not work!)
Example
let text = "HELLO WORLD";
text[0] = "A"; // Gives no error, but does not work
Converting a String to an Array
If you want to work with a string as an array, you can convert it to an array.
JavaScript String split()
A string can be converted to an array with the split()
method:
Example
text.split(",") // Split on commas
text.split(" ") // Split on spaces
text.split("|") // Split on pipe
If the separator is omitted, the returned array will contain the whole string in index [0].
If the separator is "", the returned array will be an array of single characters:
Example
text.split("")
Complete String Reference
For a complete String reference, go to our:
Complete JavaScript String Reference.
The reference contains descriptions and examples of all string properties and methods.