Hướng dẫn var string javascript - var string javascript

Nếu bạn muốn thao tác chuỗi như mảng thực thụ thì bạn có thể chuyển chuỗi thành mảng bằng phương thức lastIndexOf()7:

Nếu bạn muốn thao tác chuỗi như mảng thực thụ thì bạn có thể chuyển chuỗi thành mảng bằng phương thức lastIndexOf()7:lập trình web, chúng ta sẽ là việc rất nhiều với chuỗi như đếm độ dài, cắt chuỗi, chuyển đổi, tìm kiếm... đây các là nhiệm vụ thường xuyên nên nếu tự viết phương thức thì rất vất vả.

> Tham khảo ngay KHÓA HỌC LẬP TRÌNH WEB (Full Stack) nếu như bạn quyết tâm theo học lập trình web bài bản từ đầu.KHÓA HỌC LẬP TRÌNH WEB (Full Stack) nếu như bạn quyết tâm theo học lập trình web bài bản từ đầu.

> Hoặc đi chuyên sâu về Front end với KHÓA HỌC FRONT END (React.js) dưới sự hướng dẫn của chuyên gia doanh nghiệp.KHÓA HỌC FRONT END (React.js) dưới sự hướng dẫn của chuyên gia doanh nghiệp.

May mắn là, JavaScript hỗ trợ sẵn một số phương thức giúp chúng ta thao tác với chuỗi nhanh hơn, tiện lợi hơn.

3.1. Đếm độ dài của chuỗi trong JS

Ta sử dụng thuộc tính length để trả về độ dài của một chuỗi trong JavaScript:

let thongBao = "Học thao tác với chuỗi trong JS"; thongBao = "Học thao tác với chuỗi trong JS";

let doDai = thongBao.length; doDai = thongBao.length;

document.write("Độ dài của chuỗi là: " + doDai);  .write("Độ dài của chuỗi là: " + doDai);
 

3.2. Tìm kiếm một chuỗi trong chuỗi

Phương thức indexOf() trả về chỉ mục (vị trí) của chuỗi trùng khớp được tìm thấy đầu tiên:

// Tìm vị trí của một chuỗi

let thongBao = "Học thao tác với chuỗi trong JS"; thongBao = "Học thao tác với chuỗi trong JS";

document.write("Độ dài của chuỗi là: " + doDai);   viTri = thongBao.indexOf("JS");

3.2. Tìm kiếm một chuỗi trong chuỗi.write("Vị trí của chuỗi 'JS' là: " + viTri);
 

Phương thức indexOf() trả về chỉ mục (vị trí) của chuỗi trùng khớp được tìm thấy đầu tiên:

Hướng dẫn var string javascript - var string javascript

  • // Tìm vị trí của một chuỗi
  • let viTri = thongBao.indexOf("JS");

document.write("Vị trí của chuỗi 'JS' là: " + viTri);  

// Tìm vị trí của một chuỗi

let viTri = thongBao.indexOf("JS");

document.write("Vị trí của chuỗi 'JS' là: " + viTri);   thongBao = "JS Bài 6: Thao tác với chuỗi trong JS";

let viTri = thongBao.lastIndexOf("JS"); viTri = thongBao.lastIndexOf("JS");

JavaScript sẽ đếm vị trí từ số 0 (Giống như các ngôn ngữ lập trình khác), như hình minh họa dưới đây:.write("Vị trí của chuỗi 'JS' cuối cùng là: " + viTri);
 

0 là vị trí đầu tiên của chuỗi

1, 2, 3…. là các vị trí tiếp theo trong chuỗi.

Phương thức lastIndexOf() trả về vị trí sau cùng của chuỗi được tìm thấy trong chuỗi gốc.indexOf() sẽ tìm kiếm từ tham số thứ 2 đến hết chuỗi:

// mà nó xuất hiện cuối cùng trong một chuỗi

let thongBao = "JS Bài 6: Thao tác với chuỗi trong JS";  thongBao = "JS Bài 6: Thao tác với chuỗi trong JS";

document.write("Vị trí của chuỗi 'JS' cuối cùng là: " + viTri);   viTri = thongBao.indexOf("JS"10);

document.write(viTri);.write(viTri);

Cả hai phương thức này sẽ tả về -1 nếu không tìm thấy chuỗi cần tìm trong chuỗi gốc.
 

Cả hai phương thức đều chấp nhận tham số thứ 2 để bạn có thể tùy chọn tìm kiếm.lastIndexOf() sẽ tìm kiếm từ 0 đến tham số thứ 2 mà bạn truyền vào:

Phương thức indexOf() sẽ tìm kiếm từ tham số thứ 2 đến hết chuỗi:

document.write("Vị trí của chuỗi 'JS' là: " + viTri);   thongBao = "JS Bài 6: Thao tác với chuỗi trong JS";

let viTri = thongBao.lastIndexOf("JS", 10); viTri = thongBao.lastIndexOf("JS"10);

document.write(viTri);.write(viTri);

JavaScript sẽ đếm vị trí từ số 0 (Giống như các ngôn ngữ lập trình khác), như hình minh họa dưới đây:
 

0 là vị trí đầu tiên của chuỗi

1, 2, 3…. là các vị trí tiếp theo trong chuỗi.search()

let thongBao = "JS Bài 6: Thao tác với chuỗi trong JS";  thongBao = "JS Bài 6: Thao tác với chuỗi trong JS";

document.write("Vị trí của chuỗi 'JS' cuối cùng là: " + viTri);  

Cả hai phương thức này sẽ tả về -1 nếu không tìm thấy chuỗi cần tìm trong chuỗi gốc.

Cả hai phương thức đều chấp nhận tham số thứ 2 để bạn có thể tùy chọn tìm kiếm. viTri = thongBao.search("[0-9]");

document.write(viTri);.write(viTri);

Phương thức indexOf() sẽ tìm kiếm từ tham số thứ 2 đến hết chuỗi:
 

// Tìm chuỗi JS trong khoảng từ 10 đến hết chuỗisearch() vẫn có thể làm tốt tương tự indexOf hoặc lastIndexOf:

let thongBao = "JS Bài 6: Thao tác với chuỗi trong JS";  thongBao = "JS Bài 6: Thao tác với chuỗi trong JS";

document.write("Vị trí của chuỗi 'JS' cuối cùng là: " + viTri);   viTri = thongBao.search("JS");

document.write(viTri);.write(viTri);

JavaScript sẽ đếm vị trí từ số 0 (Giống như các ngôn ngữ lập trình khác), như hình minh họa dưới đây:
 

0 là vị trí đầu tiên của chuỗi

1, 2, 3…. là các vị trí tiếp theo trong chuỗi.

Phương thức lastIndexOf() trả về vị trí sau cùng của chuỗi được tìm thấy trong chuỗi gốc.

// mà nó xuất hiện cuối cùng trong một chuỗi

let thongBao = "JS Bài 6: Thao tác với chuỗi trong JS"; .slice(vitriBatDauviTriKetThuc);
 

document.write("Vị trí của chuỗi 'JS' cuối cùng là: " + viTri);  

Cả hai phương thức này sẽ tả về -1 nếu không tìm thấy chuỗi cần tìm trong chuỗi gốc.

Cả hai phương thức đều chấp nhận tham số thứ 2 để bạn có thể tùy chọn tìm kiếm. thuongHieu = "NIIT - ICT Hà Nội";

let ict = thuongHieu.slice(7, 10); ict = thuongHieu.slice(710);

Phương thức indexOf() sẽ tìm kiếm từ tham số thứ 2 đến hết chuỗi:.write(ict);
 

// Tìm chuỗi JS trong khoảng từ 10 đến hết chuỗi

let thongBao = "JS Bài 6: Thao tác với chuỗi trong JS";

let viTri = thongBao.indexOf("JS", 10);

// Cắt 3 ký tự tính từ cuỗi chuỗi trở lại

let thuongHieu = "NIIT - ICT Hà Nội";  thuongHieu = "NIIT - ICT Hà Nội";

let ict = thuongHieu.slice(-3); ict = thuongHieu.slice(-3);

document.write(ict);.write(ict);

// Kết quả: Nội  
 

3.4. Cắt ra một chuỗi với substring()

Phương thức indexOf()0 cũng thực hiện cắt chuỗi tương tự như slice(). Điều khác là substring() sẽ không nhận vào chỉ số âm.

Ví dụ:

// Cắt một chuỗi từ vị trí thứ 7 đến 10 (không bao gồm 10)

let thuongHieu = "NIIT - ICT Hà Nội"; thuongHieu = "NIIT - ICT Hà Nội";

let ict = thuongHieu.substring(7, 10); ict = thuongHieu.substring(710);

document.write(ict);.write(ict);

// Kết quả: ICT  
 

Nếu bạn cố tình truyền vào chỉ số âm:

let thuongHieu = "NIIT - ICT Hà Nội";  thuongHieu = "NIIT - ICT Hà Nội";

let ict = thuongHieu.substring(-3); ict = thuongHieu.substring(-3);

document.write(ict);.write(ict);

// Kết quả: Nội  
 

3.4. Cắt ra một chuỗi với substring()

Phương thức indexOf()0 cũng thực hiện cắt chuỗi tương tự như slice(). Điều khác là substring() sẽ không nhận vào chỉ số âm.

Ví dụ:substr() cũng tương tự như slice() là dùng để cắt ra một chuỗi mới từ chuỗi đã cho.

// Cắt một chuỗi từ vị trí thứ 7 đến 10 (không bao gồm 10)

let thuongHieu = "NIIT - ICT Hà Nội";

let thuongHieu = "NIIT - ICT Hà Nội"; thuongHieu = "NIIT - ICT Hà Nội";

// Kết quả: ICT   ict = thuongHieu.substr(73);

document.write(ict);.write(ict);

// Kết quả: ICT  
 

Nếu bạn cố tình truyền vào chỉ số âm:

// Kết quả: NIIT - ICT Hà Nội  

let thuongHieu = "NIIT - ICT Hà Nội"; thuongHieu = "NIIT - ICT Hà Nội";

// Kết quả: ICT   ict = thuongHieu.slice(7);

document.write(ict);.write(ict);

Nếu bạn cố tình truyền vào chỉ số âm:
 

// Kết quả: NIIT - ICT Hà Nội  

indexOf()1 sẽ không trả về kết quả như bạn mong muốn.replace() thay thế một giá trị được chỉ định bằng một giá trị khác trong một chuỗi:

3.5. Cắt ra một chuỗi với substr() cachDiTanGai = "Có tấm lòng";

Phương thức substr() cũng tương tự như slice() là dùng để cắt ra một chuỗi mới từ chuỗi đã cho. cachBiGaiTan = cachDiTanGai.replace("tấm lòng""BMW");

document.write(cachBiGaiTan);.write(cachBiGaiTan);

Điểm khác của indexOf()2 là chỉ số thứ hai quy định độ dài của phần được trích xuất (không phải là vị trí kết thúc như indexOf()3)
 

// Cắt 3 ký tự tính từ vị trí thứ 7

let ict = thuongHieu.substr(7, 3); indexOf()6 chỉ thay thế giá trị chỉ định được tìm thấy đầu tiên. Và hàm này cũng phân biệt chuỗi viết hoa và viết thường.

Còn nếu ta bỏ qua tham số thứ hai thì nó sẽ cắt đến hết chuỗi:

// Cắt chuỗi tính từ vị trí thứ 7 đến hết

let ict = thuongHieu.slice(7);

// Kết quả: ICT Hà Nội  toUpperCase() (Chứ đừng yêu cầu người dùng nhập chữ viết HOA)

3.7. Thay thế một chuỗi với replace()

Phương thức replace() thay thế một giá trị được chỉ định bằng một giá trị khác trong một chuỗi: tenHocVien = "Đặng Ngọc anh";

var cachDiTanGai = "Có tấm lòng";

let tenHocVien_HOA = tenHocVien.toUpperCase(); tenHocVien_HOA = tenHocVien.toUpperCase();

document.write(tenHocVien_HOA);.write(tenHocVien_HOA);

var cachBiGaiTan = cachDiTanGai.replace("tấm lòng", "BMW");
 

// Kết quả: Có BMW  toLowerCase()

3.7. Thay thế một chuỗi với replace()

Phương thức replace() thay thế một giá trị được chỉ định bằng một giá trị khác trong một chuỗi: tenHocVien = "Đặng Ngọc anh";

var cachDiTanGai = "Có tấm lòng";

let tenHocVien_HOA = tenHocVien.toLowerCase() tenHocVien_HOA = tenHocVien.toLowerCase()

var cachBiGaiTan = cachDiTanGai.replace("tấm lòng", "BMW"); .write(tenHocVien_HOA);

// Kết quả: Có BMW  
 

Khi đó chuỗi indexOf()4 sẽ có giá trị là: indexOf()5

Mặc định thì hàm indexOf()6 chỉ thay thế giá trị chỉ định được tìm thấy đầu tiên. Và hàm này cũng phân biệt chuỗi viết hoa và viết thường. trong JavaScript này kết hợp hay hay nhiều chuỗi với nhau. Có thể hiểu là cộng chuỗi tương tự như sử dụng toán tử indexOf()7.

Có nghĩa là, bạn phải truyền chuỗi cần thay thế chính xác 100% nếu muốn thay thế đúng. hoVaTenDem = "Đặng Ngọc";

3.8. Chuyển đổi chuỗi HOA - thường ten = "Anh";

let hoVaTen = hoVaTenDem.concat(" ", ten); hoVaTen = hoVaTenDem.concat(" "ten);

Một thực tiễn tốt trong khi thiết kế các chức năng lấy dữ liệu từ người dùng, nếu bạn muốn chuỗi này khi hiển thị ra là chữ HOA..write(hoVaTen);
 

Thì tốt nhất, luôn thực hiện chuyển đổi nó thành chữ viết HOA qua phương thức toUpperCase() (Chứ đừng yêu cầu người dùng nhập chữ viết HOA)

// Giả sử đây là tên do người dùng nhập

let tenHocVien = "Đặng Ngọc anh";

document.write(hoVaTenDem);.write(hoVaTenDem);

// Bây giờ, chuyển nó thành viết HOA
 

// Kết quả: ĐẶNG NGỌC ANH  

Ngược lại, bạn cũng có thể chuyển đổi tất cả chuỗi thành chữ viết thường với phương thức toLowerCase() hoVaTen = hoVaTenDem + " " + ten;
 

3.10. Loại bỏ khoảng trắng ở đầu và cuỗi chuỗi với phương thức trim()

Khi lấy dữ liệu từ người dùng, bởi vì người dùng thường sẽ nhập thừa dấu cách (space) ở đầu và cuối chuỗi... Do đó, chúng ta cần phải loại bỏ nó trước khi sử dụng.

Phương thức lastIndexOf()0 này loại bỏ những khoảng trắng thừa ở cả hai đầu của chuỗi theo cách như sau:

// input thừa khoảng trắng ở đầu, cuối chuỗi

let input = "       Đặng Ngọc Anh        ";  input = "       Đặng Ngọc Anh        ";

// Loại bỏ bằng phương thức trim()

let hoVaTen = input.trim(); hoVaTen = input.trim();

document.write(hoVaTen);.write(hoVaTen);

// Kết quả: Đặng Ngọc Anh  
 

3.11. Lấy ký tự ở vị trí chỉ định bằng charAt()

Phương thức charAt() này thì đơn giản là sẽ trả về một ký tự nằm ở vị trí chỉ định này thì đơn giản là sẽ trả về một ký tự nằm ở vị trí chỉ định

Ví dụ:

let input = "Đặng Ngọc Anh"; input = "Đặng Ngọc Anh";

let hoVaTen = input.charAt(0); hoVaTen = input.charAt(0);

document.write(hoVaTen);.write(hoVaTen);

// Kết quả: Đ  
 

3.12. Lấy mã ký tự ở vị trí được chỉ định

Phương thức charCodeAt() này khác ở phương thức lastIndexOf()1 ở chỗi là nó sẽ trả về mã unicode của một ký tự nằm ở vị trí chỉ định trong chuỗi chớ không phải là một ký tự. này khác ở phương thức lastIndexOf()1 ở chỗi là nó sẽ trả về mã unicode của một ký tự nằm ở vị trí chỉ định trong chuỗi chớ không phải là một ký tự.

Phương thức trả về mã lastIndexOf()2 dưới dạng một số nguyên trong khoảng từ 0 lastIndexOf()3 65535

let input = "Đặng Ngọc Anh"; input = "Đặng Ngọc Anh";

// Kết quả: Đ   hoVaTen = input.charCodeAt(0);

document.write(hoVaTen);.write(hoVaTen);

3.12. Lấy mã ký tự ở vị trí được chỉ định
 

Phương thức charCodeAt() này khác ở phương thức lastIndexOf()1 ở chỗi là nó sẽ trả về mã unicode của một ký tự nằm ở vị trí chỉ định trong chuỗi chớ không phải là một ký tự.

Phương thức trả về mã lastIndexOf()2 dưới dạng một số nguyên trong khoảng từ 0 lastIndexOf()3 65535

let hoVaTen = input.charCodeAt(0);

// Kết quả: 272   hoVaTen = "Đặng Ngọc Anh";

3.12. Truy cập chuỗi như một mảng.write(hoVaTen[0]);

// Kết quả: Đ  
 

3.12. Lấy mã ký tự ở vị trí được chỉ định

  • Phương thức charCodeAt() này khác ở phương thức lastIndexOf()1 ở chỗi là nó sẽ trả về mã unicode của một ký tự nằm ở vị trí chỉ định trong chuỗi chớ không phải là một ký tự.
  • Phương thức trả về mã lastIndexOf()2 dưới dạng một số nguyên trong khoảng từ 0 lastIndexOf()3 65535
  • let hoVaTen = input.charCodeAt(0);

// Kết quả: 272  

3.12. Truy cập chuỗi như một mảng

Trong phiên bản ECMAScript 5 (phiên bản 2009), JavaScript đã cho phép truy cập chuỗi tương tự cách truy cập mảng. hoaQua = "Cam, Xoài, Ổi, Quýt";

Chúng ta sẽ sử dụng ký hiệu lastIndexOf()4

let hoVaTen = "Đặng Ngọc Anh"; mangHoaQua = hoaQua.split(",");

document.write(typeof mangHoaQua);.write(typeof mangHoaQua);

document.write(hoVaTen[0]);
 

Một số lưu ý:Lưu ý: Mảng là một đối tượng đặc biệt nên kiểu của nó sẽ là object.

Nó làm các chuỗi giống như một mảng (sẽ được học trong bài sau) nhưng bản chất của chúng không phải là mảng.

Nếu không ký tự nào được tìm thấy, sẽ trả về lastIndexOf()5, trong khi charAt() trả về một chuỗi rỗng.

Lệnh gán: lastIndexOf()6 sẽ không báo lỗi, nhưng không gán được (không có tác dụng làm thay đổi chuỗi).
 

3.13. Chuyển đổi một chuỗi thành một mảng