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   |    645   |    0

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