1. Tại sao phải sử xử lý chuỗi?

Các chuỗi mà ta phải xử lý không hề đơn giản một chút nào. Nó có thể đơn giản cũng có thể phức tạp mà ta cần phải sử lý cẩn thận nếu không muốn gặp vấn đề gì. Bài trước thì mình đã nói về chuỗi và các bạn cũng đã hiểu được phần nào về chuỗi và cấu tạo của nó rồi. Và bài này mình sẽ nói sâu thêm về chuỗi cũng như là để các bạn nắm được việc xử lý chuỗi.

Một chuỗi sẽ có phương thức và thuộc tính, với việt truy cập vào các phương thức và thuộc tính của chuỗi, ta có thể đảm bảo những công việc như: đếm số lượng ký tự chuỗi, chuyển toàn bộ ký tự chuỗi về dạng chữ in hoa, in thường, trích xuất chuỗi con bên trong chuỗi,… Tuy nhiên, để sử dụng được các phương thức và thuộc tính này thì trước hết bạn cần phải hiểu rõ khái niệm chỉ số của ký tự trong chuỗi và hãy xem lại ở bài trước nhé.

Các giá trị nguyên thủy (primitive values) như “Thành Nguyễn” , không thể có thuộc tính hay phương thức( vì nó 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.

2. Đếm số lượng ký tự một chuỗi trong JavaScript

Để đếm số lượng ký tự của một chuỗi, ta truy cập vào thuộc tính length của chuỗi đó.

Ví dụ:

<script>
    var text = "Tai lieu hoc JavaScript";
    var a = text.length; //Biến a sẽ có giá trị là 23
    var b = "JavaScript".length; //Biến b sẽ có giá trị là 10
    document.write(a);
    document.write(b);
</script>

3. Cách nối chuỗi 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ụ: ta sẽ ghép 2 chuỗi lại với nhau rồi bán vào một biến bất kỳ:

var LT = "chào mừng bạn" + "đến với laptrinhtudau.com";
// hoặc một cách khác
var LT1 = "chào mừng bạn";
var LT2 = "đến với laptrinhtudau.com";
 
// Nối hai chuỗi
var LT = LT1 + LT2;
 document.write(LT);

4. Xử lý chuỗi 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 LT = "Chào mừng bạn đến với"
              + "laptrinhtudau.com";
 
// Sai
var LT = "Chào mừng bạn đến với
               laptrinhtudau.com";

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 LT = "Chào mừng bạn đến với \
            laptrinhtudau.com";
// hoặc cũng có thể sử dụng dấu ''

5. Ép chuỗi 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() 

Ví dụ:

// 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 var sẽ trả về kiểu dữ liệu của biến vars. Ngoài cách trên thì ta có thể sử dụng đối tượng chuỗi để tạo hoặc ép chuỗi nhưng ta sẽ học ở phần đối tượng sau.

6. Cắt chuỗi trong JavaScript

Để cắt một chuỗi trong Js ta có thể sử dụng một trong 3 hàm sau:

  • slice(start, end)
  • substring(start, end)
  • substr(start, length)

Chú ý

Mình muốn lưu ý luôn với các bạn rằng trước khi cắt chuỗi thì tất cả các vị trí chuỗi đều bắt đầu từ 0 nên đừng nhầm lẫn nhé!

6.1. Hàm Slice()

Hàm slice() có 2 tham số truyền vào:

  • start: vị trí bắt đầu
  • end: vị trí kết thúc

Ví dụ:

var string = "Welcome to laptrinhtudau.com";
document.write("Chuỗi cần lấy là: " + string.slice(11, 23));<br>

Nếu tham số truyền vào là số âm thì nó sẽ tính ngược lại, nghĩa là nó sẽ đếm từ cuối lên.

Ví dụ:

var string = "Welcome to laptrinhtudau.com";
document.write("Chuỗi cần lấy là: " + string.slice(-18, 23));

Nếu ta chỉ truyền vào tham số đầu tiên thì Js sẽ tự hiểu rằng vị trí end sẽ là vị trí cuối cùng của chuỗi mà ta lấy

Ví dụ:

var string = "Welcome to laptrinhtudau.com";
document.write("Chuỗi cần lấy là: " + string.slice(5));

6.2. Hàm substring()

Hàm substring() cũng tương tự như hàm silce() chỉ khác rằng tham số truyền vào hàm này luôn phải lớn hơn 0

Ví dụ:

var string = "Welcome to laptrinhtudau.com";
document.write("Chuỗi cần lấy là: " + string.substring(11, 23));

6.3. Hàm substr()

Hàm substr() có hai tham số là startlength, trong đó start là vị trí bắt đầu và length là số ký tự muốn lấy bắt đầu từ vị trí start . Nếu bạn truyền tham số start là số âm thì nó sẽ tính từ cuối trở lên, còn tham số length phải luôn luôn là số dương.

Ví dụ:

var string = "Welcome to laptrinhtudau.com";
document.write("Chuỗi cần lấy là: " + string.substr(11, 12));

7. Chuyển đổi chuỗi sang chữ hoa và chữ thường trong JavaScript

Ta có thể chuyển đổi chuỗi thành chữ hoa với toUpperCase()

Ví dụ:

let text1 = "Hello World!";
let text2 = text1.toUpperCase();
document.write(text2);

Và một chuỗi được chuyển thành chữ thường với toLowerCase()

Ví dụ:

let text1 = "Hello World!";       // chuỗi
let text2 = text1.toLowerCase();  // text2 được chuyển đổi text1 thành chữ thường
document.write(text2);

8. Phương thức concat() trong JavaScript

Phương thức concat() là phương thức mà ta dùng để kết hợp 2 hay nhiều chuỗi lại với nhau.

Ví dụ:

var text1 = "Lập Trình";
var text2 = "Từ Đầu!";
var text3 = text1.concat(" ", text2);
document.write(text3);

Phương thức concat() có thể được sử dụng thay thế cho toán tử cộng. Hai dòng dưới đây có chức năng tương đương:

var text = "Lập Trình" + " " + "Từ Đầu!";
var text = "Lập Trình".concat(" ", "Từ !");
document.write(text);

Chú ý

Tất cả các phương thức của chuỗi đều trả về một chuỗi mới mà không làm ảnh hưởng đến chuỗi ban đầu.