Xử lý chuỗi (string) trong Javascript
Trong bài này chúng ta sẽ tìm hiểu về chuỗi string trong Javascript, qua đó bạn sẽ biết được cách tạo và nối chuỗi cũng như ép kiểu dữ liệu sang chuỗi.
Chuỗi là một loại kiểu dữ liệu quan trọng và thông dụng trong thực tế. Khi bạn cần lưu trữ thông tin vào trong cơ sở dữ liệu thì hơn 90% sẽ được lưu dưới dạng chuỗi. Chính vì vậy bạn cần phải tìm hiểu thật kỹ về các thao tác cũng như những hàm xử lý chuỗi đang có sẵn trong js.
Ở các bài trước chúng ta đã thực hiện khá nhiều ví dụ có sử dụng chuỗi nhưng chưa tìm hiểu về nó nên bây giờ ta tìm hiểu định nghĩa chính xác.
1. Chuỗi string trong Javascript là gì?
Chuỗi là một đoạn text có thể có một hoặc nhiều ký tự và thông thường chúng ta sẽ lưu trữ nó vào một biến, biến này ta sẽ gọi là biến có kiểu dữ liệu là String (chuỗi). Tất cả các chuỗi đều phải được bao quanh bằng cặp dấu nháy đơn '
hoặc nháy kép "
.
Bài viết này được đăng tại [free tuts .net]
Ví dụ: Khai báo biến và gán chuỗi string JS
var website = "website freetuts.net học javascript quá sướng"; var email = 'thehalfheart@gmail.com';<br>
Trường hợp trong chuỗi cũng có xuất hiện dấu nháy đơn hoặc nháy đôi thì bắt buộc bạn phải thêm ký tự \
đằng trước dấu nháy đó, nếu không sẽ bị lỗi về cũ pháp.
Ví dụ: Trong chuỗi string có dấu nháy
var message = "Học lập trình tại \"freetuts.net\" quá sướng"; var domain = 'freetuts.net - 'web học lập trình'';
Ngoài ra còn nhiều ký hiệu kết hợp với dấu \
nữa như trong bảng dưới đây:
Code | Kết quả |
---|---|
' | single quote |
\" | double quote |
\\ | backslash |
\n | new line |
\r | carriage return |
\t | tab |
\b | backspace |
\f | form feed |
2. Cách nối chuỗi string trong Javascript
Để nối chuỗi string trong JS thì chúng ta sử dụng dấu +
để gép hai chuỗi hoặc biến kiểu String Object lại với nhau.
Ví dụ: Ghép hai string lại rồi gán vào biến message.
var message = "chào mừng bạn" + "đến với freetuts.net";
Hoặc:
var message1 = "chào mừng bạn"; var message2 = "đến với freetuts.net"; // Nối hai chuỗi var message = message1 + message2;
3. Xử lý string trên nhiều dòng trong Javascript
Khi bạn muốn Enter xuống hàng một chuỗi trong Javascript thì bắt buộc phải sử dụng dấu +
để nối chuỗi, nếu không sẽ bị lỗi cú pháp.
Ví dụ: Dùng dấu + để nối chuỗi
// Đúng var message = "Chào mừng bạn đến với" + "freetuts.net"; // Sai var message = "Chào mừng bạn đến với freetuts.net";
Nếu bạn muốn viết gọn hơn thì sử dụng dấu \
để báo cho trình duyệt biết là có xuống hàng.
Ví dụ: Dùng ký tự \ để khai báo chuỗi trên nhiều dòng.
var message = "Chào mừng bạn đến với \ freetuts.net";
Hoặc bạn cũng có thể sử dụng dấu `nội dung chuỗi`
để khai báo.
Ví dụ: Dùng cặp dấu ``
.
var message = `Chào mừng bạn đến với freetuts.net`;
4. Ép chuỗi string trong javascript
Nếu bạn muốn ép một giá trị nào đó sang kiểu chuỗi thì có thể sử dụng cú pháp string.toString()
.
// Trước khi chuyển đổi var number = 12; alert(typeof number); // Sau khi chuyển đổi number = number.toString(); alert(typeof number);
Từ khóa typeof vars
sẽ trả về kiểu dữ liệu của biến vars
.
Ngoài cách trên bạn có thể sử dụng đối tượng String để tạo hoặc ép chuỗi, và vì là đối tượng nên nó phải có từ khóa new
đặt đằng trước.
Ví dụ: Sử dụng String object hoặc String function.
// String object var message = new String("chào mừng bạn đến với freetuts.net"); // String function var message = String("chào mừng bạn đến với freetuts.net");
Lúc này dù bạn truyền vào là kiểu gì đi nữa thì kết quả nó vẫn trả về kiểu string. Tuy nhiên người ta khuyến khích bạn không nên sử dụng cách này bởi vì chương trình sẽ chạy chậm hơn.
5. Một số hàm xử lý string trong Javascript
Sau đây mình xin tổng hợp một số hàm / phương thức / thuộc tính dùng để xử lý chuỗi string trong JS.
Đếm số ký tự trong chuỗi
Để đếm tổng số ký tự trong chuỗi string thì ta sử dụng thuộc tính length.
var txt = "freetuts.net"; var sln = txt.length; // Kết quả 12
Tìm kiếm chuỗi trong chuỗi
Nếu muốn tìm kiếm một chuỗi bên trong một chuỗi khác thì dùng hàm indexOf.
- Nếu tìm thấy thì nó sẽ trả về vị trí xuất hiện đầu tiên của chuỗi con.
- Nếu không tìm thấy thì tra về -1.
var str = "Please locate where 'locate' occurs!"; var pos = str.indexOf("locate"); // Kết quả 7
Nếu muốn tìm vị trí xuất hiện cuối cùng của chuỗi con thì dùng hàm lastIndexOf.
var str = "Please locate where 'locate' occurs!"; var pos = str.lastIndexOf("locate"); // Kết quả 21 - là vị trí locate cuối cùng
Ngoài ra bạn cũng có thể sử dụng hàm search, nó có công dụng giống như hàm indexOf.
var str = "Please locate where 'locate' occurs!"; var pos = str.search("locate");
Lời kết: Như vậy là chúng ta đã học xong cách xử lý chuỗi string trong Javascript, qua bày này hy vọng bạn hiểu cú pháp / cách tạo chuỗi / các thao tác thường dùng trên chuỗi.