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.
Nội dung chính
Show
- 1. Các hàm xử lý chuỗi trong Javascript
- Tìm kiếm chuỗi string trong JS
- Cắt chuỗi string trong JS
- Tìm kiếm và lặp chuỗi trong JS
- Chuyển thành chữ hoa và chữ thường trong JS
- Nối thêm chuỗi
- Tìm ký tự hoặc mã ASCII của một ký tự
- Chuyển đổi chuỗi sang mảng JS
- 2. Cách lặp qua từng ký tự chuỗi string trong JS
- 3. Lời kết
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.
Tóm Tắt
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
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"));
5, trong đó
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"));
6 là chuỗi con và
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"));
7 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í
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"));
8), nếu không tìm thấy chuỗi con thì nó sẽ trả về
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"));
9.
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
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"));
0, 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ề
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"));
9 nếu không tìm thấy.
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
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"));
2 để tìm kiếm, tác dụng của nó cũng giống như hàm
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"));
3.
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:
-
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"));
4: vị trí bắt đầu
-
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"));
5: vị trí kết thúc
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.
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í
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"));
5 là vị trí cuối cùng.
var string = "Welcome to freetuts.net"; document.write("Chuỗi cần lấy là: " + string.slice(5));
Hàm substring()
Hàm
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"));
7 có cách sử dụng giống với hàm
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"));
8, tuy nhiên tham số truyền vào hàm
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"));
7 phải luôn luôn lớn hơn
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"));
8.
var string = "Welcome to freetuts.net"; document.write("Chuỗi cần lấy là: " + string.substring(11, 23));
Hàm substr()
Hàm
var string = "Welcome to freetuts.net"; document.write("Chuỗi cần lấy là: " + string.slice(11, 23));<br>
1 có hai tham số là
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"));
4 và
var string = "Welcome to freetuts.net"; document.write("Chuỗi cần lấy là: " + string.slice(11, 23));<br>
3, trong đó
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"));
4 là vị trí bắt đầu và
var string = "Welcome to freetuts.net"; document.write("Chuỗi cần lấy là: " + string.slice(11, 23));<br>
3 là số ký tự muốn lấy bắt đầu từ vị trí
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"));
4. Nếu bạn truyền tham số
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"));
4 là số âm thì nó sẽ tính từ cuối trở lên, còn tham số
var string = "Welcome to freetuts.net"; document.write("Chuỗi cần lấy là: " + string.slice(11, 23));<br>
3 phải luôn luôn là số dương.
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
var string = "Welcome to freetuts.net"; document.write("Chuỗi cần lấy là: " + string.slice(11, 23));<br>
9, trong đó
var string = "Welcome to freetuts.net"; document.write("Chuỗi cần lấy là: " + string.slice(-12, 23));
0 là chuỗi cần tìm và
var string = "Welcome to freetuts.net"; document.write("Chuỗi cần lấy là: " + string.slice(-12, 23));
1 là chuỗi sẽ được thay thế chuỗi
var string = "Welcome to freetuts.net"; document.write("Chuỗi cần lấy là: " + string.slice(-12, 23));
0.
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
var string = "Welcome to freetuts.net"; document.write("Chuỗi cần lấy là: " + string.slice(-12, 23));
3 và chuyển thành chữ thường ta dùng hàm
var string = "Welcome to freetuts.net"; document.write("Chuỗi cần lấy là: " + string.slice(-12, 23));
4.
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ử
var string = "Welcome to freetuts.net"; document.write("Chuỗi cần lấy là: " + string.slice(-12, 23));
5, ngoài ra bạn có thể dùng hàm
var string = "Welcome to freetuts.net"; document.write("Chuỗi cần lấy là: " + string.slice(-12, 23));
6 để thực hiện nối chuỗi.
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"));
0
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
var string = "Welcome to freetuts.net"; document.write("Chuỗi cần lấy là: " + string.slice(-12, 23));
7, còn xem mã ASCII thì dùng hàm
var string = "Welcome to freetuts.net"; document.write("Chuỗi cần lấy là: " + string.slice(-12, 23));
8. Cả hai hàm này đều có tham số truyền vào là vị trí muốn xem.
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"));
1
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
var string = "Welcome to freetuts.net"; document.write("Chuỗi cần lấy là: " + string.slice(-12, 23));
9 với tham số truyền vào là ký tự ngăn cách giữa các phần tử.
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"));
2
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 = "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"));
3
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.
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"));
4
Kết quả:
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.