[Javascript Căn bản] Xử lý chuỗi trong JavaScript

[Javascript Căn bản] Xử lý chuỗi trong JavaScript

Trong Javascript, bất kể một ký tự nào nằm trong dấu nháy kép “…” hoặc dấu nháy đơn ‘…’ thì đều được xem là chuỗi. Chuỗi được sử dụng để xử lý và thao tác với các đoạn văn bản. Trong bài viết này mình sẽ chia sẻ về chuỗi và những xử lý cơ bản chuỗi trong Javascript.

Chuỗi trong Javascript

Trong những bài trước bạn đã sử dụng các chuỗi, những đoạn văn bản được đặt trong dấu nháy kép “…” hoặc dấu nháy đơn ‘…’ được xem là một chuỗi. Ví dụ: var name ="Tuấn ĐC";

Chuỗi cho phép sử dụng hai loại dấu nháy là để có thể nhận dạng được các dấu này trong ký văn bản. Giả sử mình có một đoạn văn bản sau:phương pháp SEO "mũ đen" là không khuyến khích. Nếu mình đưa nó vào biến như sau: var text = "phương pháp SEO "mũ đen" là không khuyến khích"; thì điều gì sẽ xảy ra. đoạn khái báo này sẽ bị lỗi, vì lúc này từ "mũ đen" không được nhận trong chuỗi. Sử dụng dấu nháy đơn thay thế sẽ giúp bạn kiểm soát được điều này. Ví dụ: var text = 'phương pháp SEO "mũ đen" là không khuyến khích';

Tuy nhiên điều việc sử dụng 2 dấu nháy thay thế sẽ trở nên phức tạp nếu văn bản của bạn nhiều và chứa cả hai dấu nháy trên. Ví dụ: var text ="SEO "mũ đen" là phương pháp không khuyến khích, 'nó' sẽ làm lãng phí..."Trong văn bản này mình sử dụng cả dấu nháy kép và nháy đơn. Dấu bao bên ngoài là nháy kép nên chỉ có thể hiển thị chuỗi nháy đơn, làm sao để có thể hiển thị chuỗi có dấu nháy đơn trong dấu nháy đơn, giải pháp là sử dụng escape character (\).

Ví dụ câu trên sẽ được xử lý như sau: var text ="SEO \"mũ đen\" là phương pháp không khuyến khích, 'nó' sẽ làm lãng phí..." và ngược lại, nếu là dấu nháy đơn cũng thế thôi. Phương pháp này được dùng phổ biến hơn để xử lý với một đoạn văn bản dài mà không cần phải đổi dấu nháy phức tạp.

Trong nhiều trường hợp, đoạn text của bạn quá dài bạn có thể xuống dòng trong Javascript, hoặc dùng dấu “+” để nối với chuỗi xuống dòng, ví dụ:

var text ="SEO \"mũ đen\" là phương pháp không khuyến khích,"+
" 'nó' sẽ làm lãng phí..."

Một số thuộc tính của chuỗi trong Javascript

Khi sử lý chuỗi, bạn cần dựa vào nhiều thuộc tính của chuỗi để xác định trạng thái và thông số của chuỗi, Các thuộc tính được nằm phía sau biến chuỗi. Ví dụ cú pháp:

var txt = "MNBVCXZLKJHGFDSA";
var sln = txt.thuộc_tính;

Một số thuộc tính của chuỗi trong Javascript.

  • length: Trả về số ký tự trong chuỗi.
  • indexOf("text",number): Trả về số vị trí của chữ bắt đầu của text trong chuỗi. Number là số ký từ bắt đầu đếm
  • lastIndexOf ("text",number): Trả về số vị trí của chữ cái kết thúc của text trong chuỗi.

Lưu ý là indexOf luôn bắt đầu bằng vị trí số 0.

  • str.search("text") Trả về số vị trí của chữ bắt đầu của text đầu tiên được tìm thấy trong chuỗi. Tương tự indexOf(). Tuy nhiên search không thể đặt được chỉ số bắt đầu (number) như indexOf().
  • slice(number1,number2): nó sẽ cắt và lấy chuỗi bắt đầu từ ký tự number1 đến number2. Các số này chấp nhận số âm như một phần của việc đảo ngược. ví dụ:
var str = "Táo, chuối, Kiwi";
var res = str.slice(5, 10);
Hoặc
var str = "Táo, chuối, Kiwi";
var res = str.slice(-12, -6);
  • substring(number1,number2): tương tự như slice, nhưng nó không chấp nhận các số âm
  • substr(number1,number2): tương tự như slice, và có chấp nhận số âm, tuy nhiên tham số thứ hai (number2) trong thuộc tính này không phải là vị trí cuối cùng của chuỗi muốn lấy mà là số ký tự muốn lấy bắt đầu từ ký tự có tham số number1. Ví dụ.
var str = "Táo, chuối, Kiwi";
var res = str.substr(5, 5);
  • replace("chuỗi cũ", "chuỗi mới"): Sử dụng replace để thay thế một chuỗi cũ thành chuỗi mới, ví dụ:
var str = "Tôi thích Microsoft!"; 
var txt = str.replace("Microsoft","Apple");

Tuy nhiên câu lệnh trên chỉ thay thế được giá trị đầu tiên khi được tìm thấy. Để thay thế toàn bộ bạn cần sử dụng /.../g làm như sau:

var str = "Tôi thích Apple!, nhưng Apple là quá mắc"; 
var txt = str.replace(/Apple/g,"Microsoft");

Thông thường thuộc tính replace này phân biệt chữ hoa, thường, nên câu cần tìm để thay thế phải chính xác. Để bỏ quy tắc đó bạn cần sử dụng /.../i làm như sau:

var str = "Tôi thích Apple!, nhưng Apple là quá mắc"; 
var txt = str.replace(/apple/i,"Microsoft");

Để thay đổi toàn bộ bạn cần thêm g sau i, từ /apple/i thành /apple/ig

  • toUpperCase() và toLowerCase()Upper là trả về chuỗi in hoa và Lower trả về chuỗi in thường.
  • charAt(number): trả về chữ tại vị trí number.
  • charCodeAt(number): trả về unicode của chữ tại vị trí number.
  • split(): Chuyển một chuỗi thành một mảng dựa vào các ký tự phân tách đặt biêt. Ví dụ
var txt = "a,b,c,d,e"; 
txt.split(",");

Đoạn trên sử dụng dấu phẩy để làm ký tự phân tách đặt biệt. Tuy nhiên khi làm thực tế bạn nên sử dụng các ký tự ít khi được dùng trong chuỗi như “|” để làm dấu phân tách.

Trong bài sau mình sẽ giới thiệu đến bạn Xử lý số trong JavaScript

Các bài liên quan

Tuấn ĐC

Tuấn ĐC

Tôi thích tự do, làm những gì mình thích, thích đi nhiều nơi và học được nhiều thứ.

Liên hết bài viết: ""