Rate this post

Chào bạn, chúng ta lại gặp nhau rồi. Hôm nay, W3seo sẽ giới thiệu chi tiết hơn về xử lý chuỗi và cách thực hiện các thao tác với chuỗi trong JavaScript. Đây là một kỹ năng quan trọng, hãy tập trung theo dõi nhé.

Nối Chuỗi trong JavaScript

Khi viết mã, để làm cho code dễ đọc, lập trình viên thường tránh việc viết quá 80 ký tự trên một dòng. Nếu một lệnh JavaScript quá dài, bạn có thể xuống dòng mà không ảnh hưởng đến việc biên dịch.

// Đúng
let thongBao = "Chào mừng bạn đến với" +
    "lập trình JavaScript cơ bản";

// Sai
let thongBaos = "Chào mừng bạn đến với " +
    "lập trình JavaScript cơ bản ";

Bạn cũng có thể sử dụng ký tự \ để xuống dòng trong JavaScript.

// Xuống dòng với ký tự \
let thongBao = "Chào mừng bạn đến với \
        lập trình JavaScript cơ bản ";
document.write(thongBao);

Về nối chuỗi cơ bản, bạn đã học ở bài toán tử trong JavaScript.

// Nối chuỗi trong JavaScript
let thuongHieu = "W3seo";
let linhVuc = " chuyên đào tạo lập trình";
document.write(thuongHieu + linhVuc);

Ép Kiểu Chuỗi trong JS

Nếu bạn muốn ép kiểu giá trị của một biến sang kiểu chuỗi, bạn có thể sử dụng cú pháp sau:

bienA.toString();

Ví dụ về ép kiểu chuỗi trong JS:

// Trước khi ép kiểu
let soA = 12;
document.write(typeof soA);

// Ép kiểu number sang chuỗi
soA = soA.toString();
// Kiểm tra kiểu dữ liệu của number
document.write(typeof soA);

Ngoài cách trên, bạn có thể sử dụng đối tượng String để tạo chuỗi.

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

Các Phương Thức Thao Tác với Chuỗi trong JS

Trong lập trình web, chúng ta thường xuyên thao tác với chuỗi như đếm độ dài, cắt chuỗi, chuyển đổi, tìm kiếm, v.v. JavaScript hỗ trợ sẵn một số phương thức giúp thao tác với chuỗi một cách nhanh chóng và tiện lợi.

Đếm Độ Dài của Chuỗi trong JS

Sử dụng thuộc tính length để lấy độ dài của một chuỗi trong JavaScript:

let thongBao = "Học thao tác với chuỗi trong JS";
let doDai = thongBao.length;
document.write("Độ dài của chuỗi là: " + doDai);

Tìm Kiếm một Chuỗi trong Chuỗi

Phương thức indexOf() trả về vị trí của chuỗi trùng khớp đầu tiên:

let thongBao = "Học thao tác với chuỗi trong JS";
let viTri = thongBao.indexOf("JS");
document.write("Vị trí của chuỗi 'JS' là: " + viTri);

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:

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

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

Chú ý: Phương thức indexOf()lastIndexOf() có thể chấp nhận tham số thứ 2 để tùy chọn tìm kiếm.

Tìm Kiếm với Biểu Thức Chính Quy trong JS

Trong trường hợp cần tìm kiếm với biểu thức chính quy,

sử dụng phương thức search():

let thongBao = "JS Bài 6: Thao tác với chuỗi trong JS";
let viTri = thongBao.search("[0-9]");
document.write(viTri);

Phương thức search() cũng có thể thực hiện tương tự như indexOf hoặc lastIndexOf.

Hy vọng rằng những kiến thức này sẽ giúp bạn tự tin hơn khi thao tác với chuỗi trong JavaScript. Hãy tiếp tục học tập và thực hành nhiều hơn nữa.

Tách Chuỗi bằng slice()

Phương thức slice() được sử dụng để tách một phần của chuỗi và trả về một chuỗi con trong một chuỗi mới. Để sử dụng, bạn cần xác định hai tham số: vị trí bắt đầu và vị trí kết thúc.

string.slice(startIndex, endIndex);

Ví dụ, để tách một chuỗi từ vị trí thứ 7 đến 10 (không bao gồm ký tự ở vị trí thứ 10):

// Tách chuỗi sử dụng slice()
let tenCongTy = "ABC Company Limited";
let company = tenCongTy.slice(4, 11);
console.log(company);

Kết quả:

Company

Phương thức này cũng hỗ trợ số âm, với việc đếm vị trí từ cuối chuỗi.

Ví dụ:

// Tách 3 ký tự tính từ cuối chuỗi
let tenCongTy = "ABC Company Limited";
let limited = tenCongTy.slice(-3);
console.log(limited);

Kết quả:

ted

Tách Chuỗi bằng substring()

Phương thức substring() thực hiện việc tách chuỗi tương tự như slice(). Sự khác biệt chính là substring() không chấp nhận chỉ số âm.

Ví dụ:

// Tách một chuỗi từ vị trí thứ 4 đến 11 (không bao gồm 11)
let tenCongTy = "ABC Company Limited";
let company = tenCongTy.substring(4, 11);
console.log(company);

Kết quả:

Company

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

let tenCongTy = "ABC Company Limited";
let company = tenCongTy.substring(-3);
console.log(company);

Kết quả:

ABC Company Limited

Phương thức substring() sẽ không trả về kết quả như bạn mong muốn nếu có chỉ số âm.

Tách Chuỗi bằng substr()

Phương thức substr() cũng giống như slice() trong việc tách ra một chuỗi mới từ chuỗi đã cho. Sự khác biệt chính là tham 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ư slice()).

// Tách 3 ký tự tính từ vị trí thứ 4
let tenCongTy = "ABC Company Limited";
let company = tenCongTy.substr(4, 3);
console.log(company);

Kết quả:

Com

Nếu bạn bỏ qua tham số thứ hai, nó sẽ tách từ vị trí đã chọn đến hết chuỗi:

// Tách chuỗi từ vị trí thứ 4 đến hết
let tenCongTy = "ABC Company Limited";
let company = tenCongTy.substr(4);
console.log(company);

Kết quả:

Company Limited

Thay Thế Chuỗi với replace()

Phương thức replace() được sử dụng để thay thế một giá trị cụ thể bằng một giá trị khác trong một chuỗi:

// Thay thế một chuỗi
let originalString = "Có tấm lòng";
let replacedString = originalString.replace("tấm lòng", "BMW");
console.log(replacedString);

Kết quả: Có BMW

Chuỗi replacedString giờ đây sẽ giữ giá trị là: Có BMW

Mặc định, hàm replace() chỉ thay thế giá trị đầu tiên được tìm thấy. Hàm này cũng phân biệt chữ hoa và chữ thường.

Điều này 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.

Chuyển Đổi Chuỗi sang HOA – thường

Một thói quen tốt khi hiển thị dữ liệu từ người dùng là luôn chuyển đổi chuỗi này thành chữ in hoa. Trong trường hợp này, nên luôn sử dụng phương thức toUpperCase() (thay vì yêu cầu người dùng nhập chữ in hoa).

// Giả sử đây là tên do người dùng nhập
let userName = "John Doe";

// Chuyển đổi thành chữ in hoa
let upperCaseUserName = userName.toUpperCase();
console.log(upperCaseUserName);

Kết quả: JOHN DOE

Ngược lại, bạn cũng có thể chuyển đổi tất cả chuỗi thành chữ in thường với phương thức toLowerCase()

// Giả sử đây là tên do người dùng nhập
let userName = "John Doe";

// Chuyển đổi thành chữ in thường
let lowerCaseUserName = userName.toLowerCase();
console.log(lowerCaseUserName);

Kết quả: john doe

Nối Chuỗi với phương thức concat()

Phương thức concat() trong JavaScript kết hợp nhiều chuỗi với nhau:

let firstName = "John";
let lastName = "Doe";

let fullName = firstName.concat(" ", lastName);
console.log(fullName);

Phương thức concat() lấy các tham số được truyền vào và nối chúng vào sau chuỗi firstName, sau đó trả về kết quả. Tuy nhiên, nó không làm thay đổi chuỗi gốc.

// Sau khi đã thực hiện concat()
console.log(firstName);

Kết quả: John

Cách này của phương thức concat() tương đương với:

let fullName = firstName + " " + lastName;

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, thường có thừa dấu cách ở đầu và cuối chuỗi. Phương thức trim() loại bỏ những khoảng trắng thừa ở cả hai đầu của chuỗi:

// Chuỗi có thừa khoảng trắng ở đầu và cuối chuỗi
let userInput = "       John Doe        ";

// Loại bỏ bằng phương thức trim()
let trimmedName = userInput.trim();
console.log(trimmedName);

Kết quả: John Doe

Trích Ký Tự Tại Vị Trí Chỉ Định sử dụng charAt()

Phương thức charAt() giúp trả về ký tự tại một vị trí cụ thể:

// Lấy ký tự ở vị trí 0
let ten = "Đặng Ngọc Anh";
let kyTuDauTien = ten.charAt(0);
console.log(kyTuDauTien);

Kết quả: Đ

Lấy Mã Ký Tự tại Vị Trí Chỉ Định

Phương thức charCodeAt() trả về mã Unicode của ký tự ở vị trí chỉ định trong chuỗi:

// Lấy mã Unicode tại vị trí 0
let ten = "Đặng Ngọc Anh";
let maUnicode = ten.charCodeAt(0);
console.log(maUnicode);

Kết quả: 272

Truy Cập Chuỗi Như Một Mảng

Trong ECMAScript 5, JavaScript cho phép truy cập chuỗi như mảng bằng cách sử dụng ký hiệu []:

let hoVaTen = "Đặng Ngọc Anh";
console.log(hoVaTen[0]);

Kết quả: Đ

Một số lưu ý:

  • Chuỗi được coi là giống mảng, nhưng không phải là mảng thực sự.
  • Nếu không có ký tự nào được tìm thấy, sẽ trả về undefined, trong khi charAt() sẽ trả về một chuỗi rỗng.
  • Lệnh gán như hoVaTen[0] = "T" sẽ không báo lỗi, nhưng không có tác dụng thay đổi chuỗi.

Chuyển Đổi Chuỗi thành Mảng

Nếu muốn thao tác với chuỗi như mảng, bạn có thể chuyển đổi chuỗi thành mảng bằng phương thức split():

let quaCay = "Cam, Xoài, Ổi, Quýt";
// Tách chuỗi bằng dấu phảy
let mangQuaCay = quaCay.split(",");
console.log(typeof mangQuaCay);

Kết quả: object

Lưu ý: Mảng là một đối tượng đặc biệt, vì vậy kiểu dữ liệu của nó là object. Để kiểm tra nó, bạn có thể sử dụng console.log() để log mangQuaCay ra màn hình console:

console.log(mangQuaCay);

Kết quả:

['Cam', 'Xoài', 'Ổi', 'Quýt']

Tóm Tắt

Chúng ta đã cùng nhau tìm hiểu một số kỹ thuật thao tác với chuỗi trong JavaScript. Với sự quan trọng của việc làm việc với chuỗi trong lập trình, tôi khuyến khích bạn tích lũy kiến thức bằng cách thực hành nhiều lần.

Hãy thử làm lại các ví dụ mà chúng ta đã thảo luận, biến đổi chúng một số lần để quan sát sự thay đổi trong kết quả. Hãy tìm hiểu từ những sai lầm, những thay đổi nào gây lỗi và thay đổi nào không. Điều này sẽ giúp bạn hiểu rõ hơn về kỹ thuật thao tác với chuỗi trong JavaScript.

Chỉ thông qua việc thực hành liên tục như vậy, bạn mới có thể nắm vững và hiểu sâu kỹ thuật này. Tôi trông đợi sự gặp lại của bạn trong bài học JavaScript tiếp theo. Chúc bạn học tốt!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now