PHẦN CƠ BẢN
VÒNG LẶP
DATA TYPES
EVENTS
DOM
BOM
OBJECT
BỔ SUNG
THỰC HÀNH
JAVASCRIPT CĂN BẢN
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Các hàm xử lý chuỗi trong Javascript (cắt / tách / nối chuỗi ..)

Trong bài này mình sẽ giới thiệu các hàm xử lý chuỗi string trong Javascript, đây là những hàm được sử dụng rất nhiều trong quá trình làm việc với JS.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Bài trước chúng ta đã tìm hiểu về chuỗi trong javascript và mình cũng có giới thiệu một vài hàm cơ bản. Tuy nhiên, thực tế thì bạn còn phải học cách sử dụng rất nhiều hàm khác nữa như: Hàm cắt chuỗi trong JS, hàm tách chuỗi và nối chuỗi, hàm tìm và thay thế ký tự trong chuỗi.

1. Các hàm xử lý chuỗi trong Javascript

Mình không thể liệt kê hết các hàm được mà chỉ đưa ra những hàm hay sử dụng nhất để bài viết được ngắn gọn hơn.

Tìm kiếm chuỗi string trong JS

Chúng ta có ba hàm thường dùng để tìm kiếm chuỗi con trong Javascript như sau:

Bài viết này được đăng tại [free tuts .net]

  • indexOf()
  • lastIndexOf()
  • search()

Hàm indexOf()

Để tìm kiếm chuỗi con thì ta sử dụng hàm String.indexOf(str), trong đó str là chuỗi con và String là chuỗi cha. Hàm này sẽ trả kết quả về kết quả là vị trí xuât hiện đầu tiên của chuỗi (bắt đầu là vị trí 0), nếu không tìm thấy chuỗi con thì nó sẽ trả về -1.

Demo RUN
var string = "Chào mừng bạn đến với freetuts.net";
document.write("Vị trí xuất hiện chuỗi freetuts.net là: " + string.indexOf("freetuts.net"));

Hàm lastIndexOf()

Trường hợp nếu chuỗi con xuất hiện nhiều lần trong chuỗi cha thì kết quả cũng trả về vị trí xuất hiện của chuỗi con đầu tiên. Vậy làm thế nào để lấy vị trí của chuỗi con cuối cùng trong chuỗi cha? Ta sẽ sử dụng hàm String.lastIndexOf(str), hàm này sẽ trả về vị trí xuất hiện của chuỗi con cuối cùng và trả về -1 nếu không tìm thấy.

Demo RUN
var string = "Website freetuts.net - học lập trình miễn phí tại freetuts.net";
document.write("Vị trí xuất hiện chuỗi freetuts.net là: " + string.lastIndexOf("freetuts.net"));

Hàm search()

Ngoài hai hàm trên bạn có thể sử dụng hàm string.search(str) để tìm kiếm, tác dụng của nó cũng giống như hàm string.indexOf(str).

Demo RUN
var string = "Chào mừng bạn đến với freetuts.net";
document.write("Vị trí xuất hiện chuỗi freetuts.net là: " + string.search("freetuts.net"));

Cắt chuỗi string trong JS

Nếu ban muốn cắt một chuỗi con từ chuỗi cha thì bạn có thể sử dụng ba hàm sau:

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

Note: tất cả các vị trí của chuỗi đều bắt đầu từ 0, vì vậy khi tính toán vị trí coi chừng bị nhầm lẫn nhé.

Hàm slice()

Hàm slide có hai tham số truyền vào:

  • start: vị trí bắt đầu
  • end: vị trí kết thúc
Demo RUN
var string = "Welcome to freetuts.net";
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.

Demo RUN
var string = "Welcome to freetuts.net";
document.write("Chuỗi cần lấy là: " + string.slice(-12, 23));

Nếu bạn chỉ truyền một tham số đầu tiên thì nó sẽ tự hiểu vị trí end là vị trí cuối cùng.

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

Hàm substring()

Hàm substring() có cách sử dụng giống với hàm slice(), tuy nhiên tham số truyền vào hàm substring() phải luôn luôn lớn hơn 0.

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

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.

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

Tìm kiếm và lặp chuỗi trong JS

Để tìm kiếm và lặp một chuỗi con nào đó thì bạn sử dụng hàm replace(str_find, str_replace), trong đó str_find là chuỗi cần tìm và str_replace là chuỗi sẽ được thay thế chuỗi str_find.

Demo RUN
var string = "Welcome to freetuts.net";
document.write(string.replace("freetuts.net", "freetuts.net"));

Chuyển thành chữ hoa và chữ thường trong JS

Để chuyển chuỗi thành chữ hoa ta dùng hàm toUpperCase() và chuyển thành chữ thường ta dùng hàm toLowerCase().

Demo RUN
var string = "Welcome to freetuts.net";
document.write(string.toUpperCase() + "<br/>");
document.write(string.toLowerCase());

Nối thêm chuỗi

Để nối thêm chuỗi thông thường ta dùng toán tử +, ngoài ra bạn có thể dùng hàm concat() để thực hiện nối chuỗi.

Demo RUN
var string = "Welcome " + "to" + " freetuts.net";
document.write(string + "<br/>");

// hoặc
var string = "Welcome ";
string = string.concat("to ", "freetuts.net");
document.write(string + "<br/>");

Tìm ký tự hoặc mã ASCII của một ký tự

Để xem ký tự của một vị trí nào đó thì dùng hàm charAt(), còn xem mã ASCII thì dùng hàm charCodeAt(). Cả hai hàm này đều có tham số truyền vào là vị trí muốn xem.

Demo RUN
var string = "Welcome freetuts.net";

document.write(string.charAt(1) + "<br/>");
document.write(string.charCodeAt(1) + "<br/>");

Chuyển đổi chuỗi sang mảng JS

Để chuyển một chuỗi sang mảng thì ta sử dụng hàm split() với tham số truyền vào là ký tự ngăn cách giữa các phần tử.

Demo RUN
string = "Welcome freetuts.net";

// Tạo thành mảng với mỗi phần tử ngăn bởi khoảng trắng
// kết quả là mảng có hai phần tử gồm: welcome và feetuts.net
document.write(string.split(" ").length);

Vẫn còn nhiều hàm khác nữa, và nếu bạn quan tâm thì hãy tham khảo trong bài viết Javascript functions.

2. Cách lặp qua từng ký tự chuỗi string trong JS

Trong đối tương JS có một thuộc tính lưu trữ tổng số ký tự trong chuỗi, đó là length.

var string = "freetuts".length; // Kết quả là 8

Trong JS, chuỗi được xem là một cấu trúc mảng, vì vậy ta có thể sử dụng vòng lặp để lặp qua từng phần tử của chuỗi rất dễ dàng.

let domain = "freetuts.net";
for (var i = 0; i < domain.length; i++){
    console.log(domain[i]);
}

Kết quả:

f
r
e
t
u
t
s
.
n
e
t

3. Lời kết

Như vậy là mình đã giới thiệu xong một số hàm xử lý chuỗi trong Javascript thông dụng nhất. Qua đây sẽ giúp bạn có thêm tài liệu để xử lý chuỗi trong quá trình làm việc với Javascript.

Thực tế vẫn còn một thư viện xử lý String trong JS rất hay nữa, đó là sử dụng Regular Expression. Tuy nhiên, RegEx thuộc phần kiến thức nâng cao nên mình sẽ giới thiệu ở một bài khác.

Cùng chuyên mục:

Functional Programming là gì? Tại sao và khi nào bạn nên sử dụng trong JavaScript

Functional Programming là gì? Tại sao và khi nào bạn nên sử dụng trong JavaScript

Những tính năng mới trong ES6+ trong JavaScript

Những tính năng mới trong ES6+ trong JavaScript

4 cách tránh memory leaks trong JavaScript

4 cách tránh memory leaks trong JavaScript

Capturing và bubbling Event trong Javascript

Capturing và bubbling Event trong Javascript

Phân biệt prototype và __proto__ trong JavaScript

Phân biệt prototype và __proto__ trong JavaScript

Cách hoạt động của Event Loop trong JavaScript

Cách hoạt động của Event Loop trong JavaScript

Phương thức bind(), call(), và apply() trong JavaScript

Phương thức bind(), call(), và apply() trong JavaScript

Cách khắc phục lỗi

Cách khắc phục lỗi "hoisting" trong JavaScript

Sử dụng Promise.all và Promise.race để quản lý các Promise trong JavaScript

Sử dụng Promise.all và Promise.race để quản lý các Promise trong JavaScript

Xử lý bất đồng bộ bằng vòng lặp for-await trong JavaScript

Xử lý bất đồng bộ bằng vòng lặp for-await trong JavaScript

Sự khác biệt giữa Promise, Callback và Async/Await trong JavaScript

Sự khác biệt giữa Promise, Callback và Async/Await trong JavaScript

Cách sử dụng Async functions trong JavaScript

Cách sử dụng Async functions trong JavaScript

Hàm String isspace() trong Python

Hàm String isspace() trong Python

Cách tạo số ngẫu nhiên trong Javascript

Cách tạo số ngẫu nhiên trong Javascript

Hướng dẫn cách tạo một số ngẫu nhiên ...

Cách gộp hai object javascript lại với nhau

Cách gộp hai object javascript lại với nhau

Cách lấy chiều dài của object trong Javascript

Cách lấy chiều dài của object trong Javascript

Hướng dẫn giải phương trình bậc 1 bằng Javascript

Hướng dẫn giải phương trình bậc 1 bằng Javascript

Cách dùng nextSibling trong javascript

Cách dùng nextSibling trong javascript

Cách dùng insertAdjacentHTML trong javascript

Cách dùng insertAdjacentHTML trong javascript

Cách dùng innerHTML trong Javascript

Cách dùng innerHTML trong Javascript

Top