Dấu phân tách này có thể là một chuỗi. Hoặc nó có thể là một biểu thức chính quy [regular expression].
Nếu bạn bỏ quên dấu phân tách, thì split[] không thể tìm thấy dấu phân tách trong chuỗi. Thế nên, trong trường hợp này, split[] sẽ trả về toàn bộ chuỗi.
Tham số limit
Tham số limit
là giới hạn. Nó chỉ định số chuỗi con được phân tách. Phương thức split[] sẽ dừng khi số lượng chuỗi con đạt đến giới hạn.
Nếu limit = 0
, hàm split[] trả về một mảng trống. Nếu limit = 1
, hàm split[] trả về một mảng có chứa chuỗi.
> Lưu ý rằng mảng kết quả có thể có ít items hơn limit
trong trường hợp split[] chia tách đến cuối chuỗi mà vẫn chưa đạt đến limit.
2. Ví dụ sử dụng split[] trong Javascript
Hãy cùng làm thử một vài ví dụ để hiểu cách sử dụng split[] trong Javascript
VD1: Sử dụng split[] tách chuỗi thông thường thành các từ riêng biệt
Ví dụ sau sử dụng phương thức split[] để chia một chuỗi thành các từ:
let str = "Học JavaScript hay Web?";
// Sử dụng split[] để tách chuỗi -> từ
let substrings = str.split[" "];
Kết quả ta được:
["Học", "JavaScript", "hay", "Web"]
Ở đây, chúng ta đã sử dụng dấu phân tách là một space, " "
VD2: Sử dụng split[] tách chuỗi và nhận về giới hạn kết quả
Ví dụ sau sử dụng phương thức split[] để chia một chuỗi thành các chuỗi con bằng cách sử dụng dấu cách. Nó cũng sử dụng tham số thứ hai để giới hạn số lượng chuỗi con trả về:
let str = "Học JavaScript hay Web?";
let substrings = str.split[" ", 2];
Kết quả ta được:
VD3: Sử dụng split[] tách chuỗi với biểu thức chính quy
Ở hai ví dụ trên, dấu phân tách chúng ta sử dụng là dấu cách. Tuy nhiên, với các chuỗi phức tạp, việc sử dụng dấu cách là khó giải quyết được vấn đề.
Do đó, phương thức split[] cho phép bạn truyền biểu thức chính quy để xác định dấu phân tách.
let paragraph = "Học. JavaScript! hay? Web."
// Tách chuỗi sử dụng biểu thức chính quy
let sentences = paragraph.split[/[!,?,.]/];
Kết quả ta được:
["Học", " JavaScript", " hay", " Web", ""]
Nếu biểu thức chính quy nằm trong dấu ngoặc [] thì phương thức split[] cũng trả về chúng trong kết quả [nếu có]
let paragraph = "Học. JavaScript! hay? Web."
// Sử dụng [] trong biểu thức chính quy
let sentences = paragraph.split[/[[!,?,.]]/];
Kết quả ta được:
["Học", ".", " JavaScript", "!", " hay", "?", "Web", ".", ""]
Chú ý kết quả, dấu .
!
và separator
0 cũng được trả về trong kết quả.
Vì split[] cho phép bạn truyền vào biểu thức chính quy làm dấu phân tách, thế nên bạn có thể tùy biến dấu phân tách để có được kết quả cuối cùng bạn muốn.
Tổng kết split[] trong JavaScript
Như vậy, qua bài học này bạn đã biết cách sử dụng phương thức split[] trong JavaScript để phân tác chuỗi, biết sử dụng tham số limit và tùy biến kết quả với biểu thức chính quy.
Hi vọng bạn cảm thấy hữu ích cho quá trình học lập trình JavaScript / lập trình web của bạn.
> Nếu muốn học lập trình JavaScript chuyên sâu, nhanh hơn, thực tế hơn thì đừng bỏ qua KHÓA HỌC FRONT END [với REACTJS] này bạn nhé.
---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao [Since 2002]. Học thực tế + Tuyển dụng ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0968051561
Email: hello@niithanoi.edu.vn
Fanpage: //facebook.com/NIIT.ICT/
#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python
String là một trong những kiểu dữ liệu của JavaScript, mặt khác, thao tác xử lý string diễn ra cực kỳ phổ biến trong lập trình nói chung và lập trình JavaScript nói riêng.
Bài viết này mình sẽ gửi tới bạn các thao tác xử lý string phổ biến mà Javascript đã hỗ trợ, mời các bạn cùng theo dõi.
Các phương thức, thuộc tính của String trong JavaScript
Đây là toàn bộ các methods, properties của String trong JavaScript:
charAt[]
// VD 1 var str1 = "Hello "; var str2 = "world!"; var res = str1.concat[str2]; // Hello world! // VD 2 var last = "Pham "; var middle = "Quang "; var first = "Binh"; var full = last.concat[middle, first]; // Pham Quang Binh6 trả về ký tự trong string tương ứng với vị trí bạn truyền vào. Vị trí được tính từ 0.
Cú pháp:
// VD 1 var str1 = "Hello "; var str2 = "world!"; var res = str1.concat[str2]; // Hello world! // VD 2 var last = "Pham "; var middle = "Quang "; var first = "Binh"; var full = last.concat[middle, first]; // Pham Quang Binh7. Trong đó
// VD 1 var str1 = "Hello "; var str2 = "world!"; var res = str1.concat[str2]; // Hello world! // VD 2 var last = "Pham "; var middle = "Quang "; var first = "Binh"; var full = last.concat[middle, first]; // Pham Quang Binh8 là vị trí của ký tự cần lấy.
var str = "HELLO WORLD"; str.charAt[0]; // H str.charAt[1]; // E str.charAt[2]; // L
charCodeAt[]
// VD 1 var str1 = "Hello "; var str2 = "world!"; var res = str1.concat[str2]; // Hello world! // VD 2 var last = "Pham "; var middle = "Quang "; var first = "Binh"; var full = last.concat[middle, first]; // Pham Quang Binh9 trả về mã Unicode của ký tự trong string tương ứng với vị trí bạn truyền vào.
Cú pháp
var str = "Hello world, welcome to the universe."; var n = str.endsWith["universe."]; // true // String mẹ được tính từ đầu cho tới vị trí thứ 11 var m = str.endsWith["world", 11]; // true0. Trong đó
// VD 1 var str1 = "Hello "; var str2 = "world!"; var res = str1.concat[str2]; // Hello world! // VD 2 var last = "Pham "; var middle = "Quang "; var first = "Binh"; var full = last.concat[middle, first]; // Pham Quang Binh8 là vị trí của ký tự cần lấy.
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 76
concat[]
var str = "Hello world, welcome to the universe."; var n = str.endsWith["universe."]; // true // String mẹ được tính từ đầu cho tới vị trí thứ 11 var m = str.endsWith["world", 11]; // true2 được sử dụng để nối 2 hoặc nhiều string lại với nhau. Phương thức này không làm thay đổi string ban đầu, nhưng sẽ trả về một string mới.
Cú pháp:
var str = "Hello world, welcome to the universe."; var n = str.endsWith["universe."]; // true // String mẹ được tính từ đầu cho tới vị trí thứ 11 var m = str.endsWith["world", 11]; // true3.
// VD 1 var str1 = "Hello "; var str2 = "world!"; var res = str1.concat[str2]; // Hello world! // VD 2 var last = "Pham "; var middle = "Quang "; var first = "Binh"; var full = last.concat[middle, first]; // Pham Quang Binh
endsWith[]
var str = "Hello world, welcome to the universe."; var n = str.endsWith["universe."]; // true // String mẹ được tính từ đầu cho tới vị trí thứ 11 var m = str.endsWith["world", 11]; // true4 sẽ kiểm tra string con có nằm trong string mẹ hay không. Nếu tìm thấy sẽ trả về
var str = "Hello world, welcome to the universe."; var n = str.endsWith["universe."]; // true // String mẹ được tính từ đầu cho tới vị trí thứ 11 var m = str.endsWith["world", 11]; // true5, ngược lại trả về
var str = "Hello world, welcome to the universe."; var n = str.endsWith["universe."]; // true // String mẹ được tính từ đầu cho tới vị trí thứ 11 var m = str.endsWith["world", 11]; // true6.
Cú pháp:
var str = "Hello world, welcome to the universe."; var n = str.endsWith["universe."]; // true // String mẹ được tính từ đầu cho tới vị trí thứ 11 var m = str.endsWith["world", 11]; // true7. Trong đó:
var str = "Hello world, welcome to the universe."; var n = str.endsWith["universe."]; // true // String mẹ được tính từ đầu cho tới vị trí thứ 11 var m = str.endsWith["world", 11]; // true
8: String con cần tìm kiếm, có phân biệt chữ hoa, chữ thường.var str = "Hello world, welcome to the universe."; var n = str.endsWith["universe."]; // true // String mẹ được tính từ đầu cho tới vị trí thứ 11 var m = str.endsWith["world", 11]; // true
9: Không bắt buộc, là giới hạn độ dài củavar text = String.fromCharCode[65]; // A // Hoặc có thể truyền nhiều mã Unicode để nối thành string var text = String.fromCharCode[72, 69, 76]; // HEL
0, nếu không truyền thì mặc định sẽ là độ dài củavar text = String.fromCharCode[65]; // A // Hoặc có thể truyền nhiều mã Unicode để nối thành string var text = String.fromCharCode[72, 69, 76]; // HEL
0.
var str = "Hello world, welcome to the universe."; var n = str.endsWith["universe."]; // true // String mẹ được tính từ đầu cho tới vị trí thứ 11 var m = str.endsWith["world", 11]; // true
fromCharCode[]
var text = String.fromCharCode[65]; // A // Hoặc có thể truyền nhiều mã Unicode để nối thành string var text = String.fromCharCode[72, 69, 76]; // HEL2 được sử dụng để chuyển đối mã Unicode thành ký tự tương ứng. Đây là một phương thức tĩnh, luôn luôn có cú pháp là
var text = String.fromCharCode[65]; // A // Hoặc có thể truyền nhiều mã Unicode để nối thành string var text = String.fromCharCode[72, 69, 76]; // HEL3.
Cú pháp:
var text = String.fromCharCode[65]; // A // Hoặc có thể truyền nhiều mã Unicode để nối thành string var text = String.fromCharCode[72, 69, 76]; // HEL4.
var text = String.fromCharCode[65]; // A // Hoặc có thể truyền nhiều mã Unicode để nối thành string var text = String.fromCharCode[72, 69, 76]; // HEL
includes[]
var text = String.fromCharCode[65]; // A // Hoặc có thể truyền nhiều mã Unicode để nối thành string var text = String.fromCharCode[72, 69, 76]; // HEL5 được sử dụng để kiểm tra xem string con có nằm trong string mẹ hay không. Phương thức trả về
var str = "Hello world, welcome to the universe."; var n = str.endsWith["universe."]; // true // String mẹ được tính từ đầu cho tới vị trí thứ 11 var m = str.endsWith["world", 11]; // true5 nếu tìm thấy, ngược lại trả về
var str = "Hello world, welcome to the universe."; var n = str.endsWith["universe."]; // true // String mẹ được tính từ đầu cho tới vị trí thứ 11 var m = str.endsWith["world", 11]; // true6.
Cú pháp:
var text = String.fromCharCode[65]; // A // Hoặc có thể truyền nhiều mã Unicode để nối thành string var text = String.fromCharCode[72, 69, 76]; // HEL8. Trong đó:
var text = String.fromCharCode[65]; // A // Hoặc có thể truyền nhiều mã Unicode để nối thành string var text = String.fromCharCode[72, 69, 76]; // HEL
9: String con cần tìm kiếm, phân biệt chữ hoa chữ thường.var str = "Hello world, welcome to the universe."; var n = str.includes["world"]; // true // Phạm vi tìm kiếm được bắt đầu từ vị trí thứ 12 trong string ban đầu var m = str.includes["world", 12]; // true
0: Không bắt buộc, mặc định là 0, là ví trí bắt đầu để tìm kiếm.
var str = "Hello world, welcome to the universe."; var n = str.includes["world"]; // true // Phạm vi tìm kiếm được bắt đầu từ vị trí thứ 12 trong string ban đầu var m = str.includes["world", 12]; // true
indexOf[]
var str = "Hello world, welcome to the universe."; var n = str.includes["world"]; // true // Phạm vi tìm kiếm được bắt đầu từ vị trí thứ 12 trong string ban đầu var m = str.includes["world", 12]; // true1 được sử dụng khi bạn muốn lấy vị trí xuất hiện đầu tiên của string con trong string mẹ.
Lưu ý: nếu tìm thấy thì vị trí được tính từ 0, nếu không tìm thấy thì trả về -1;
Cú pháp:
var str = "Hello world, welcome to the universe."; var n = str.includes["world"]; // true // Phạm vi tìm kiếm được bắt đầu từ vị trí thứ 12 trong string ban đầu var m = str.includes["world", 12]; // true2. Trong đó:
var text = String.fromCharCode[65]; // A // Hoặc có thể truyền nhiều mã Unicode để nối thành string var text = String.fromCharCode[72, 69, 76]; // HEL
9: String con cần tìm kiếm, phân biệt chữ hoa chữ thường.var str = "Hello world, welcome to the universe."; var n = str.includes["world"]; // true // Phạm vi tìm kiếm được bắt đầu từ vị trí thứ 12 trong string ban đầu var m = str.includes["world", 12]; // true
0: Không bắt buộc, mặc định là 0, là ví trí bắt đầu để tìm kiếm.
var str = "Hello world, welcome to the universe."; var n = str.indexOf["welcome"]; // 13 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = str.indexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được bắt đầu từ trị trí thứ 5 trong string ban đầu var l = str.indexOf["e", 5]; // 14
lastIndexOf[]
Tương tự như
var str = "Hello world, welcome to the universe."; var n = str.includes["world"]; // true // Phạm vi tìm kiếm được bắt đầu từ vị trí thứ 12 trong string ban đầu var m = str.includes["world", 12]; // true1, nhưng trả về vị trí xuất hiện cuối cùng của string con trong string mẹ.
Cú pháp:
var str = "Hello world, welcome to the universe."; var n = str.includes["world"]; // true // Phạm vi tìm kiếm được bắt đầu từ vị trí thứ 12 trong string ban đầu var m = str.includes["world", 12]; // true6. Trong đó:
var text = String.fromCharCode[65]; // A // Hoặc có thể truyền nhiều mã Unicode để nối thành string var text = String.fromCharCode[72, 69, 76]; // HEL
9: String con cần tìm kiếm, phân biệt chữ hoa chữ thường.var str = "Hello world, welcome to the universe."; var n = str.endsWith["universe."]; // true // String mẹ được tính từ đầu cho tới vị trí thứ 11 var m = str.endsWith["world", 11]; // true
9: Không bắt buộc, là giới hạn củavar str = "Hello world, welcome to the universe."; var n = str.includes["world"]; // true // Phạm vi tìm kiếm được bắt đầu từ vị trí thứ 12 trong string ban đầu var m = str.includes["world", 12]; // true
9, mặc định sẽ là độ dài củavar str = "Hello world, welcome to the universe."; var n = str.includes["world"]; // true // Phạm vi tìm kiếm được bắt đầu từ vị trí thứ 12 trong string ban đầu var m = str.includes["world", 12]; // true
9.
var string = "hello hi hi hello"; var n = string.lastIndexOf["hello"]; // 12 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = string.lastIndexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được tính từ đầu string cho tới vị trí thứ 5 var l = string.lastIndexOf["he", 5]; // 0
length
var str = "Hello world, welcome to the universe."; var n = str.endsWith["universe."]; // true // String mẹ được tính từ đầu cho tới vị trí thứ 11 var m = str.endsWith["world", 11]; // true9 được sử dụng khi bạn muốn lấy độ dài của string.
var str = "Hello world"; var length = str.length; // 11
localeCompare[]
var str = "Hello world, welcome to the universe."; var n = str.indexOf["welcome"]; // 13 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = str.indexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được bắt đầu từ trị trí thứ 5 trong string ban đầu var l = str.indexOf["e", 5]; // 142 được sử dụng khi bạn muốn so sánh 2 string theo ngôn ngữ địa phương.
Tùy thuộc vào mỗi vùng [quốc gia] mà kết quả của việc so sánh 2 string sẽ khác nhau. Địa phương sẽ được lấy từ thông tin của trình duyệt.
var str = "Hello world, welcome to the universe."; var n = str.indexOf["welcome"]; // 13 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = str.indexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được bắt đầu từ trị trí thứ 5 trong string ban đầu var l = str.indexOf["e", 5]; // 142 sẽ trả về:
- Trả về -1 nếu str1 được sắp xếp trước str2
- Trả về 0 nếu str1 bằng str2
- Trả về 1 nếu str1 được sắp xếp sau str2
Cú pháp:
var str = "Hello world, welcome to the universe."; var n = str.indexOf["welcome"]; // 13 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = str.indexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được bắt đầu từ trị trí thứ 5 trong string ban đầu var l = str.indexOf["e", 5]; // 144. Trong đó
var str = "Hello world, welcome to the universe."; var n = str.indexOf["welcome"]; // 13 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = str.indexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được bắt đầu từ trị trí thứ 5 trong string ban đầu var l = str.indexOf["e", 5]; // 145 là string mà bạn muốn so sánh với string hiện tại.
// Giả sử "địa phương" đang là Việt Nam var str1 = "ab"; var str2 = "cd"; var n = str1.localeCompare[str2]; // -1
match[]
var str = "Hello world, welcome to the universe."; var n = str.indexOf["welcome"]; // 13 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = str.indexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được bắt đầu từ trị trí thứ 5 trong string ban đầu var l = str.indexOf["e", 5]; // 146 được sử dụng khi bạn muốn trích một string con trong string mẹ bằng “biểu thức chính quy“. Phương thức này sẽ trả về kết quả dưới dạng mảng nếu tìm thấy string con phù hợp với điều kiện của biểu thức chính quy, trả
var str = "Hello world, welcome to the universe."; var n = str.indexOf["welcome"]; // 13 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = str.indexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được bắt đầu từ trị trí thứ 5 trong string ban đầu var l = str.indexOf["e", 5]; // 147 nếu không tìm thấy.
Cú pháp:
var str = "Hello world, welcome to the universe."; var n = str.indexOf["welcome"]; // 13 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = str.indexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được bắt đầu từ trị trí thứ 5 trong string ban đầu var l = str.indexOf["e", 5]; // 148. Trong đó
var str = "Hello world, welcome to the universe."; var n = str.indexOf["welcome"]; // 13 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = str.indexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được bắt đầu từ trị trí thứ 5 trong string ban đầu var l = str.indexOf["e", 5]; // 149 là chuỗi biểu thức chính quy.
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 760
repeat[]
var string = "hello hi hi hello"; var n = string.lastIndexOf["hello"]; // 12 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = string.lastIndexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được tính từ đầu string cho tới vị trí thứ 5 var l = string.lastIndexOf["he", 5]; // 00 được sử dụng khi bạn muốn lặp đi lặp lại một string tương ứng với số lần bạn truyền vào.
Cú pháp:
var string = "hello hi hi hello"; var n = string.lastIndexOf["hello"]; // 12 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = string.lastIndexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được tính từ đầu string cho tới vị trí thứ 5 var l = string.lastIndexOf["he", 5]; // 01. Trong đó
var string = "hello hi hi hello"; var n = string.lastIndexOf["hello"]; // 12 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = string.lastIndexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được tính từ đầu string cho tới vị trí thứ 5 var l = string.lastIndexOf["he", 5]; // 02 là số lần mà bạn muốn string được lặp lại.
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 761
replace[]
var string = "hello hi hi hello"; var n = string.lastIndexOf["hello"]; // 12 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = string.lastIndexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được tính từ đầu string cho tới vị trí thứ 5 var l = string.lastIndexOf["he", 5]; // 03 được sử dụng khi bạn muốn tìm kiếm và thay thế một string con trong string mẹ. Phương thức này không làm thay đổi string mẹ, mà trả về một string mới.
Lưu ý: Nếu string con không được thể hiện dưới dạng biểu thức chính quy, thì replace[] sẽ chỉ thay thế được string con đầu tiên tìm thấy. Nếu bạn muốn tìm và thay thế tất cả, thì có thể sử dụng
var string = "hello hi hi hello"; var n = string.lastIndexOf["hello"]; // 12 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = string.lastIndexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được tính từ đầu string cho tới vị trí thứ 5 var l = string.lastIndexOf["he", 5]; // 04 [xem ví dụ bên dưới].
Cú pháp:
var string = "hello hi hi hello"; var n = string.lastIndexOf["hello"]; // 12 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = string.lastIndexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được tính từ đầu string cho tới vị trí thứ 5 var l = string.lastIndexOf["he", 5]; // 05. Trong đó:
var text = String.fromCharCode[65]; // A // Hoặc có thể truyền nhiều mã Unicode để nối thành string var text = String.fromCharCode[72, 69, 76]; // HEL
9: Là string con cần tìm kiếm, hoặc là chuỗi biểu thức chính quy. Cái mà sẽ được thay thế bằngvar string = "hello hi hi hello"; var n = string.lastIndexOf["hello"]; // 12 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = string.lastIndexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được tính từ đầu string cho tới vị trí thứ 5 var l = string.lastIndexOf["he", 5]; // 0
7.var string = "hello hi hi hello"; var n = string.lastIndexOf["hello"]; // 12 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = string.lastIndexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được tính từ đầu string cho tới vị trí thứ 5 var l = string.lastIndexOf["he", 5]; // 0
7: Là giá trị sẽ được thay thế.
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 762
search[]
var string = "hello hi hi hello"; var n = string.lastIndexOf["hello"]; // 12 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = string.lastIndexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được tính từ đầu string cho tới vị trí thứ 5 var l = string.lastIndexOf["he", 5]; // 09 được sử dụng khi bạn muốn tìm vị trí một string con trong string mẹ theo biểu thức chính quy. Nếu trong string mẹ xuất hiện nhiều lần string con cần tìm, thì trả về vị trí của string con đầu tiên. Phương thức này gần giống với
var str = "Hello world, welcome to the universe."; var n = str.includes["world"]; // true // Phạm vi tìm kiếm được bắt đầu từ vị trí thứ 12 trong string ban đầu var m = str.includes["world", 12]; // true1, khác ở chỗ
var str = "Hello world, welcome to the universe."; var n = str.includes["world"]; // true // Phạm vi tìm kiếm được bắt đầu từ vị trí thứ 12 trong string ban đầu var m = str.includes["world", 12]; // true1 chỉ chấp nhận input là string, còn
var string = "hello hi hi hello"; var n = string.lastIndexOf["hello"]; // 12 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = string.lastIndexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được tính từ đầu string cho tới vị trí thứ 5 var l = string.lastIndexOf["he", 5]; // 09 chấp nhận cả biểu thức chính quy.
Nếu không tìm thấy string con trong string mẹ,
var string = "hello hi hi hello"; var n = string.lastIndexOf["hello"]; // 12 // Không tìm thấy string con trong string mẹ // sẽ trả về -1 var m = string.lastIndexOf["phambinh.net"]; // -1 // Phạm vi tìm kiếm được tính từ đầu string cho tới vị trí thứ 5 var l = string.lastIndexOf["he", 5]; // 09 sẽ trả về -1.
Cú pháp:
var str = "Hello world"; var length = str.length; // 114. Trong đó
var text = String.fromCharCode[65]; // A // Hoặc có thể truyền nhiều mã Unicode để nối thành string var text = String.fromCharCode[72, 69, 76]; // HEL9 là string con cần tìm kiếm, hoặc là chuỗi biểu thức chính quy thể hiện cho string con cần tìm.
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 763
slice[]
var str = "Hello world"; var length = str.length; // 116 được sử dụng khi bạn muốn trích một string con trong string mẹ từ vị trí n tới vị trí m. Tham số n, m cũng có thể là số âm, nếu là số âm vị trí sẽ được tính từ cuối string.
Cú pháp:
var str = "Hello world"; var length = str.length; // 117. Trong đó:
var str = "Hello world, welcome to the universe."; var n = str.includes["world"]; // true // Phạm vi tìm kiếm được bắt đầu từ vị trí thứ 12 trong string ban đầu var m = str.includes["world", 12]; // true
0: Là vị trí bắt đầu cắt string con, tương ứng với tham số n.var str = "Hello world"; var length = str.length; // 11
9: Không bắt buộc, là vị trí kết thúc của string con, tương ứng với tham số m. Nếu không truyền, phương thức này sẽ cắt từ vị trívar str = "Hello world, welcome to the universe."; var n = str.includes["world"]; // true // Phạm vi tìm kiếm được bắt đầu từ vị trí thứ 12 trong string ban đầu var m = str.includes["world", 12]; // true
0 tới cuối string.
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 764
split[]
// Giả sử "địa phương" đang là Việt Nam var str1 = "ab"; var str2 = "cd"; var n = str1.localeCompare[str2]; // -11 được sử dụng khi bạn muốn phân tách string mẹ thành một mảng các string con theo một dấu hiệu nhận biết nào đó. Nếu dấu hiệu nhận biết là một string rỗng ”, thì split[] sẽ tách các ký tự trong string mẹ thành các phần tử trong mảng kết quả. Phương thức này không làm thay đổi string mẹ.
Cú pháp:
// Giả sử "địa phương" đang là Việt Nam var str1 = "ab"; var str2 = "cd"; var n = str1.localeCompare[str2]; // -12. Trong đó:
// Giả sử "địa phương" đang là Việt Nam var str1 = "ab"; var str2 = "cd"; var n = str1.localeCompare[str2]; // -1
3: Không bắt buộc, là dấu hiệu nhận biết để phân tách string.// Giả sử "địa phương" đang là Việt Nam var str1 = "ab"; var str2 = "cd"; var n = str1.localeCompare[str2]; // -1
4: Số lượng phần tử tối đa muốn phân tách.
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 765
startsWith[]
// Giả sử "địa phương" đang là Việt Nam var str1 = "ab"; var str2 = "cd"; var n = str1.localeCompare[str2]; // -15 được sử dụng khi bạn muốn kiểm tra một string mẹ có được bắt đầu bằng string con bạn truyền vào không. Nếu đúng sẽ trả về
var str = "Hello world, welcome to the universe."; var n = str.endsWith["universe."]; // true // String mẹ được tính từ đầu cho tới vị trí thứ 11 var m = str.endsWith["world", 11]; // true5, ngược lại trả về
var str = "Hello world, welcome to the universe."; var n = str.endsWith["universe."]; // true // String mẹ được tính từ đầu cho tới vị trí thứ 11 var m = str.endsWith["world", 11]; // true6.
Cú pháp:
// Giả sử "địa phương" đang là Việt Nam var str1 = "ab"; var str2 = "cd"; var n = str1.localeCompare[str2]; // -18. Trong đó:
var text = String.fromCharCode[65]; // A // Hoặc có thể truyền nhiều mã Unicode để nối thành string var text = String.fromCharCode[72, 69, 76]; // HEL
9: Là string con cần tìm kiếmvar str = "Hello world, welcome to the universe."; var n = str.includes["world"]; // true // Phạm vi tìm kiếm được bắt đầu từ vị trí thứ 12 trong string ban đầu var m = str.includes["world", 12]; // true
0: Không bắt buộc, mặc định là 0. Là vị trí bắt đầu tìm kiếm
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 766
substr[]
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7601 được sử dụng khi bạn muốn cắt một string con trong string mẹ từ vị trí n và kéo dài m phần tử.
Lưu ý:
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7601 khá dễ nhầm lẫn với
var str = "Hello world"; var length = str.length; // 116, chúng khác nhau ở tham số thứ 2:
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 76
01: Tham số m là độ dài của string con tính từ vị trí n.var str = "Hello world"; var length = str.length; // 11
6: Tham số m là vị trí kết thúc của string con tính từ vị trí n.
Cú pháp:
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7606. Trong đó:
- start: Vị trí bắt đầu cắt, tương ứng với tham số n.
- length: Không bắt buộc, độ dài của string con muốn cắt, tương ứng với tham số m. Nếu không truyền thì sẽ cắt từ vị trí
var str = "Hello world, welcome to the universe."; var n = str.includes["world"]; // true // Phạm vi tìm kiếm được bắt đầu từ vị trí thứ 12 trong string ban đầu var m = str.includes["world", 12]; // true
0 cho tới cuối string mẹ.
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 767
substring[]
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7608 được sử dụng khi bạn muốn trích một string con trong string mẹ từ vị trí n tới vị trí m. Tham số m là tham số không bắt buộc, nếu bạn không truyền,
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7608 sẽ trích từ vị trí n tới cuối string.
Phương thức này khá giống với
var str = "Hello world"; var length = str.length; // 116, giống nhau cả về ý nghĩa của tham số thứ 2. Tuy nhiên cách thực hiện của chúng có phần khác nhau:
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 76
08: Nếu tham số n > m, thì ý nghĩa của nó sẽ được đổi cho nhau. Tức nó sẽ cắt từ vị trí m tới vị trí n. Hơn nữa n và m không nhận giá trị âm, nếu bạn truyền giá trị âm thì string con trả về sẽ giống string mẹ ban đầu.var str = "Hello world"; var length = str.length; // 11
6: Nếu tham số n >= m, thì sẽ trả về string rỗng, n và m có thể nhận giá trị âm.
Cú pháp:
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7613. Trong đó:
var str = "Hello world, welcome to the universe."; var n = str.includes["world"]; // true // Phạm vi tìm kiếm được bắt đầu từ vị trí thứ 12 trong string ban đầu var m = str.includes["world", 12]; // true
0: Là vị trí bắt đầu cắt string con, tương ứng với tham số n.var str = "Hello world"; var length = str.length; // 11
9: Không bắt buộc, là vị trí kết thúc của string con, tương ứng với tham số m. Nếu không truyền, phương thức này sẽ cắt từ vị trívar str = "Hello world, welcome to the universe."; var n = str.includes["world"]; // true // Phạm vi tìm kiếm được bắt đầu từ vị trí thứ 12 trong string ban đầu var m = str.includes["world", 12]; // true
0 tới cuối string.
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 768
toLowerCase[]
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7617 được sử dụng khi bạn muốn chuyển tất cả các ký tự trong string về dạng chữ thường.
Cú pháp:
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7618. Phương thức này không có tham số.
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 769
toLocaleLowerCase[]
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7619 được sử dụng khi bạn muốn chuyển tất cả các ký tự trong string về dạng chữ thường của địa phương.
Trong hầu hết các trường hợp, thì phương thức này với phương thức
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7617 kể trên sẽ trả về cùng một kết quả. Tuy nhiên với một số quốc gia, ví dụ như Thổ Nhĩ Kỳ, thì không tuân theo quy tắc Unicode thông thường, nên kết quả có thể khác nhau.
Cú pháp:
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7621. Phương thức này không có tham số.
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 769
toUpperCase[]
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7622 được sử dụng khi bạn muốn chuyển toàn bộ ký tự trong string thành dạng CHỮ HOA.
Cú pháp:
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7623. Phương thức này không có tham số.
// VD 1 var str1 = "Hello "; var str2 = "world!"; var res = str1.concat[str2]; // Hello world! // VD 2 var last = "Pham "; var middle = "Quang "; var first = "Binh"; var full = last.concat[middle, first]; // Pham Quang Binh1
toLocaleUpperCase[]
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7624 được sử dụng khi bạn muốn chuyển tất cả các ký tự trong string về dạng CHỮ HOA của địa phương.
Sự khác biệt giữa phương thức này và phương thức
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7622 tương tự như phương thức
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7617 và phương thức
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7619 kể trên.
Cú pháp:
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7621. Phương thức này không có tham số.
// VD 1 var str1 = "Hello "; var str2 = "world!"; var res = str1.concat[str2]; // Hello world! // VD 2 var last = "Pham "; var middle = "Quang "; var first = "Binh"; var full = last.concat[middle, first]; // Pham Quang Binh1
trim[]
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7629 được sử dụng khi bạn muốn xóa khoảng trắng ở hai đầu của string.
Cú pháp:
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7630. Phương thức này không có tham số.
// VD 1 var str1 = "Hello "; var str2 = "world!"; var res = str1.concat[str2]; // Hello world! // VD 2 var last = "Pham "; var middle = "Quang "; var first = "Binh"; var full = last.concat[middle, first]; // Pham Quang Binh3
valueOf[]
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7631 được sử dụng khi bạn muốn trả về giá trị gốc của string. Phương thức này khá ít khi sử dụng, để hiểu được phương thức này bạn hãy xem ví dụ dưới.
Cú pháp:
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7632. Phương thức này không có tham số.
// VD 1 var str1 = "Hello "; var str2 = "world!"; var res = str1.concat[str2]; // Hello world! // VD 2 var last = "Pham "; var middle = "Quang "; var first = "Binh"; var full = last.concat[middle, first]; // Pham Quang Binh4
toString[]
var str = "HELLO WORLD"; str.charCodeAt[0]; // 72 str.charCodeAt[1]; // 69 str.charCodeAt[2]; // 7633 được sử dụng khi bạn cố ép một dữ liệu khác về dạng string. Để hiểu được phương thức này mời bạn xem ví dụ bên dưới.
// VD 1 var str1 = "Hello "; var str2 = "world!"; var res = str1.concat[str2]; // Hello world! // VD 2 var last = "Pham "; var middle = "Quang "; var first = "Binh"; var full = last.concat[middle, first]; // Pham Quang Binh5
Lời kết
Trong các phương thức kể trên có nhiều phương thức gần giống nhau, các bạn hãy lưu ý để biết cách sử dụng đúng trường hợp như:
- indexOf[] vs search[]
- substr[] vs slice[] vs substring[]
Hay một số phương thức có kết quả phụ thuộc vào “địa phương” của browser như:
- localeCompare[]
- toLocaleLowerCase[]
- toLocaleUpperCase[]
Chúc các bạn học tập hiệu quả.
- TAGS
- javascript
- string
Phạm Bình
//phambinh.net
Mình muốn chia sẻ các kiến thức mà mình học được trong quá trình làm việc và phát triển, với hy vọng có sẽ giúp ích được cho bạn đọc - như cách mà mình học được từ việc đọc các blog khác.