JavaScript - Chuỗi và các hàm sử lý chuỗi
by My Love
03/04/2019, 2:22 PM | 03/04/2019, 2:22 PM | 732 | 034
1. Chuỗi trong Javascript
Chuỗi ( string ) là một đoạn văn bản ( text ) có thể có một hoặc nhiều kí tự. Khi ta khai báo một biến và gán nó vào chuỗi thì lúc này biến đó có kiểu dữ liệu là String. Chuỗi phải được nằm trong dấu nháy đơn
' hoặc nháy đôi
"
Ví dụ :
var Title= "Chúc bạn ngày mới vui vẻ !";
// hoặc
var Title= 'Chúc bạn ngày mới vui vẻ !';
Bạn có thể sử dụng dấu nháy đơn ' hoặc nháy đôi " trong chuỗi nhưng không được trùng với dấu nháy bao ngoài.
Ví dụ :
// Cách viết đúng :
var Name = "Tên tôi là 'Ronaldo' !";
// hoặc
var Name = 'Tên tôi là "Ronaldo" !';
// Viết như này sẽ sai :
var Name = "Tên tôi là "Ronaldo" !";
// hoặc
var Name = 'Tên tôi là 'Ronaldo' !';
Có một cách nữa để dùng các dấu nháy trong chuỗi đó là thêm kí tự \ vào trước dấu nháy.
Ví dụ :
var Name = "Tên tôi là \"Ronaldo\" !";
// hoặc
var Name = 'Tên tôi là \'Ronaldo\' !';
Nối hai chuỗi
Để nối hai chuỗi ta sử dụng dấu
+ như sau :
Ví dụ :
var Name = "Tên tôi là " + " Ronaldo !";
2. Các hàm sử lý chuỗi
Bạn có thể tham khảo một số hàm sử lý chuỗi ở bảng dưới đây :
Name |
Mô tả |
string.trim() |
Loại bỏ các khoảng trắng ở đầu và cuối chuỗi |
string.toString() |
Ép kiểu về kiểu String ( chuỗi ). Ta có thể dùng để đưa một số về kiểu String ( chuỗi ) |
string.toLowerCase() |
Chuyển tất cả các kí tự trong chuỗi thành in thường |
string.toUpperCase() |
Chuyển tất cả các kí tự trong chuỗi thành in hoa |
string.slice(start,end) |
Trích xuất nội dung của một chuỗi bằng cách truyền vào hai tham số start ( vị trí bắt đầu ) và end ( vị trí kết thúc ) |
string.substring(start,end) |
Giống với hàm slice() nhưng không cho phép truyền vào số âm |
string.substr(start,length) |
Trích xuất nội dung của một chuỗi bằng cách truyền vào hai tham số start ( vị trí bắt đầu ) và length ( độ dài chuỗi muốn lấy, bắt đầu từ vị trí start ) |
string.startsWith() |
Kiểm tra một chuỗi có được bắt đầu bởi một chuỗi được cấp hay không |
string.split() |
Tách một chuỗi thành mảng dựa vào các kí tự phân cách trong chuỗi |
string.search() |
Trả về vị trí xuất hiện đầu tiên của chuỗi con trong chuỗi cha, nếu không có trả về -1 |
string.indexOf() |
Tương tự như search() |
string.lastIndexOf() |
Tương tự như indexOf() nhưng trả về vị trí xuất hiện cuối cùng của chuỗi con trong chuỗi cha |
string.charAt(Number) |
Trả về kí tự ở vị trí Number mà người dùng đưa vào |
string.concat() |
Nối hai hay nhiều chuỗi lại với nhau thành một chuỗi |
string.includes() |
Kiểm tra chuỗi truyền vào có nằm trong chuỗi cha hay không, trả về true hoặc false |
string.localeCompare() |
So sánh hai chuỗi với nhau dựa trên ngôn ngữ hiện tại của trình duyệt |
string.match() |
Tìm kiếm chuỗi con trong chuỗi cha phù hợp với biểu thức chính quy được đưa vào |
string.replace() |
Tìm kiếm một chuỗi con trong chuỗi cha và thay thế chuỗi con đó bằng chuỗi mới. Truyền vào chuỗi con và chuỗi cần thay thế |
string.repeat(Number) |
Lặp lại chuỗi string với số lần Number truyền vào |
3. Một số ví dụ
Chú ý : tất cả vị trí chuỗi sẽ giống như mảng bắt đầu từ vị trí thứ 0
Hàm slice()
Hàm này có tác dụng cắt một chuỗi con từ chuỗi cha
Cú pháp :
string.slice(start, end)
trong đó :
start : vị trí bắt đầu
end : vị trí kết thúc, nếu không chuyền vào end thì mặc định là end là vị trí cuối cùng
Ví dụ :
var title = 'Chào bạn, chúc bạn ngày mới vui vẻ !';
// cắt chuỗi từ vị trí thứ 10 đến vị trí thứ 36
var str = title.slice(10,36);
document.write("Chuỗi sau khi slice là : " + str);
// Kết quả in ra
Chuỗi sau khi slice là : chúc bạn ngày mới vui vẻ !
Nếu bạn truyền vào số âm thì sẽ tính từ cuối chuỗi :
var title = 'Chào bạn, chúc bạn ngày mới vui vẻ !';
// cắt chuỗi từ vị trí thứ 9 tính từ cuối chuỗi đến vị trí thứ 36
var str = title.slice(-9,36);
document.write("Chuỗi sau khi slice là : " + str);
// Kết quả in ra
Chuỗi sau khi slice là : vui vẻ !
Nếu bạn không truyền vào giá trị
end, thì mặc định vị trí
end là cuối cùng :
var title = 'Chào bạn, chúc bạn ngày mới vui vẻ !';
// cắt chuỗi từ vị trí thứ 10 đến vị trí cuối cùng
var str = title.slice(10);
document.write("Chuỗi sau khi slice là : " + str);
// Kết quả in ra
Chuỗi sau khi slice là : chúc bạn ngày mới vui vẻ !
Hàm substr()
Hàm này có cách lấy chuỗi với cú pháp như sau :
string.substr(start, length)
trong đó :
start : là vị trí bắt đầu cắt chuỗi, nếu truyền vào số âm thì sẽ bắt đầu đếm từ cuối chuỗi
length : là số kí từ muốn lấy bắt đầu từ vị trí
start
Ví dụ :
var title = 'Cầu thủ xuất sắc nhất thế giới là Messi ?';
var str = title.substr(8,23);
document.write("Chuỗi sau khi substr() là : " + str);
// Kết quả in ra
Chuỗi sau khi substr() là : xuất sắc nhất thế giới
Hàm indexOf()
Hàm này sẽ trả về vị trí xuất hiện đầu tiên của chuỗi con trong chuỗi cha, nếu không tìm thấy sẽ trả về -1
Ví dụ : Tìm vị trí xuất hiện đầu tiên của từ '
Messi' trong chuỗi
var title = 'Cầu thủ xuất sắc nhất thế giới là Messi ?';
var str = title.indexOf('Messi');
document.write("Vị trí xuất hiện đầu tiên là : " + str);
// Kết quả in ra
Vị trí xuất hiện đầu tiên là : 34