Phương thức chuỗi JavaScript
- Trang trước Chuỗi JS
- Trang tiếp theo Tìm kiếm chuỗi JS
Phương pháp chuỗi giúp bạn xử lý chuỗi.
Phương pháp và thuộc tính chuỗi
Giá trị nguyên thuần, chẳng hạn như "Bill Gates", không thể có thuộc tính và phương pháp (vì chúng không phải là đối tượng).
Nhưng thông qua JavaScript, phương pháp và thuộc tính cũng có thể được sử dụng cho giá trị nguyên thuần, vì khi thực hiện phương pháp và thuộc tính, JavaScript sẽ coi giá trị nguyên thuần là đối tượng.
Độ dài chuỗi
length
Thuộc tính trả về độ dài của chuỗi:
Ví dụ
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln = txt.length;
Tìm kiếm chuỗi trong chuỗi
indexOf()
phương pháp trả về văn bản được chỉ định trong chuỗiLần đầu tiênvị trí xuất hiện (vị trí):
Ví dụ
var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("China");
JavaScript tính toán vị trí từ số 0.
0 là vị trí đầu tiên trong chuỗi, 1 là vị trí thứ hai, 2 là vị trí thứ ba ...
lastIndexOf()
phương pháp trả về vị trí của văn bản được chỉ định trong chuỗiCuối cùngvị trí xuất hiện lần đầu:
Ví dụ
var str = "The full name of China is the People's Republic of China."; var pos = str.lastIndexOf("China");
nếu không tìm thấy văn bản indexOf()
và lastIndexOf()
cả hai đều trả về -1.
Ví dụ
var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("USA");
Cả hai phương pháp đều chấp nhận tham số thứ hai là vị trí bắt đầu tìm kiếm.
Ví dụ
var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("China", 18);
lastIndexOf()
Phương pháp tìm kiếm theo hướng sau (từ cuối đến đầu), điều này có nghĩa là: Nếu tham số thứ hai là 50, thì bắt đầu tìm kiếm từ vị trí 50 cho đến điểm bắt đầu của chuỗi.
Ví dụ
var str = "The full name of China is the People's Republic of China."; var pos = str.lastIndexOf("China", 50);
Tìm kiếm chuỗi trong chuỗi
search()
Phương pháp tìm kiếm chuỗi cụ thể trong chuỗi và trả về vị trí khớp:
Ví dụ
var str = "The full name of China is the People's Republic of China."; var pos = str.search("locate");
Bạn có nhận ra không?
hai phương pháp này,indexOf()
và search()
, làBằng nhau.
Cả hai phương pháp này là không bằng nhau. Khác biệt ở chỗ:
- Hàm search() không thể thiết lập tham số bắt đầu thứ hai.
- Hàm indexOf() không thể thiết lập các giá trị tìm kiếm mạnh mẽ hơn (biểu thức chính quy).
Bạn sẽ học đượcBiểu thức chính quymà bạn sẽ học được các giá trị tìm kiếm mạnh mẽ hơn.
Lấy phần chuỗi
Có ba phương pháp lấy phần chuỗi:
- slice(start, end)
- substring(start, end)
- substr(start, length)
Hàm slice()
slice()
Lấy một phần chuỗi nào đó và trả về phần đã lấy ra trong chuỗi mới.
Phương pháp này thiết lập hai tham số: chỉ số bắt đầu (vị trí bắt đầu), chỉ số kết thúc (vị trí kết thúc).
Ví dụ này cắt đoạn từ vị trí 7 đến vị trí 13 trong chuỗi:
Ví dụ
var str = "Apple, Banana, Mango"; var res = str.slice(7,13);
Kết quả của res là:
Banana
Nếu một tham số là giá trị âm, thì sẽ tính toán từ cuối chuỗi.
Ví dụ này cắt đoạn từ vị trí -12 đến vị trí -6 trong chuỗi:
Ví dụ
var str = "Apple, Banana, Mango"; var res = str.slice(-13,-7);
Kết quả của res là:
Banana
Nếu bỏ qua tham số thứ hai, thì phương pháp này sẽ cắt phần còn lại của chuỗi:
Ví dụ
var res = str.slice(7);
hoặc tính toán từ cuối:
Ví dụ
var res = str.slice(-13);
Lưu ý:Vị trí âm không áp dụng cho Internet Explorer 8 và các phiên bản trước.
Hàm substring()
substring()
Tương tự slice()
.
Khác biệt ở chỗ substring()
Không thể chấp nhận chỉ số âm.
Ví dụ
var str = "Apple, Banana, Mango"; var res = str.substring(7,13);
Kết quả của res là:
Banana
Nếu bỏ qua tham số thứ hai, thì hàm này sẽ cắt phần còn lại của chuỗi: substring()
Cắt phần còn lại của chuỗi.
Hàm substr()
substr()
Tương tự slice()
.
Khác biệt ở chỗ tham số thứ hai quy định phần cần lấy raĐộ dài.
Ví dụ
var str = "Apple, Banana, Mango"; var res = str.substr(7,6);
Kết quả của res là:
Banana
Nếu bỏ qua tham số thứ hai, thì hàm substr() sẽ cắt phần còn lại của chuỗi.
Ví dụ
var str = "Apple, Banana, Mango"; var res = str.substr(7);
Kết quả của res là:
Banana, Mango
Nếu tham số đầu tiên là giá trị âm, thì sẽ tính toán vị trí từ cuối chuỗi.
Ví dụ
var str = "Apple, Banana, Mango"; var res = str.substr(-5);
Kết quả của res là:
Mango
Tham số thứ hai không thể là giá trị âm vì nó định nghĩa là độ dài.
Thay thế nội dung chuỗi
replace()
Cách sử dụng giá trị khác thay thế giá trị được chỉ định trong chuỗi:
Ví dụ
str = "Please visit Microsoft!"; var n = str.replace("Microsoft", "W3School");
replace()
phương thức sẽ không thay đổi chuỗi được gọi. Nó trả về chuỗi mới.
Mặc định,replace()
chỉ thay thế phần chập đầu tiên:
Ví dụ
str = "Please visit Microsoft and Microsoft!"; var n = str.replace("Microsoft", "W3School");
Mặc định,replace()
phân biệt chữ hoa và chữ thường. Do đó không thay thế phần chập MICROSOFT:
Ví dụ
str = "Please visit Microsoft!"; var n = str.replace("MICROSOFT", "W3School");
Nếu muốn thực hiện thay thế không phân biệt chữ hoa và chữ thường, hãy sử dụng biểu thức chính quy /i
(không phân biệt chữ hoa và chữ thường):
Ví dụ
str = "Please visit Microsoft!"; var n = str.replace(/MICROSOFT/i, "W3School");
Lưu ý rằng biểu thức chính quy không có dấu ngoặc kép.
Nếu muốn thay thế tất cả các phần chập, hãy sử dụng thuộc tính của biểu thức chính quy g
Biểu tượng (sử dụng cho tìm kiếm toàn bộ):
Ví dụ
str = "Please visit Microsoft and Microsoft!"; var n = str.replace(/Microsoft/g, "W3School");
Bạn sẽ học thêm về biểu thức chính quy trong chương này về JavaScript.Biểu thức chính quycủa nội dung.
Chuyển đổi thành chữ hoa và chữ thường
Bằng cách toUpperCase()
Chuyển đổi chuỗi thành chữ hoa:
Ví dụ
var text1 = "Hello World!"; // chuỗi var text2 = text1.toUpperCase(); // text2 là chuỗi được chuyển đổi thành chữ hoa của text1
Bằng cách toLowerCase()
Chuyển đổi chuỗi thành chữ thường:
Ví dụ
var text1 = "Hello World!"; // chuỗi var text2 = text1.toLowerCase(); // text2 là chuỗi được chuyển đổi thành chữ thường của text1
Phương thức concat()
concat()
Kết nối hai hoặc nhiều chuỗi:
Ví dụ
var text1 = "Hello"; var text2 = "World"; text3 = text1.concat(" ",text2);
concat()
Phương thức có thể được sử dụng để thay thế toán tử cộng. Dưới đây là hai dòng tương đương:
Ví dụ
var text = "Hello" + " " + "World!"; var text = "Hello".concat(" ","World!");
Tất cả các phương thức chuỗi sẽ trả về chuỗi mới. Chúng không thay đổi chuỗi ban đầu.
Để nói một cách chính xác: chuỗi là không thay đổi: chuỗi không thể thay đổi, chỉ có thể thay thế.
String.trim()
trim()
Phương thức này xóa các dấu cách ở hai đầu của chuỗi:
Ví dụ
var str = " Hello World! "; alert(str.trim());
Cảnh báo:Internet Explorer 8 hoặc các phiên bản thấp hơn không hỗ trợ trim()
phương thức.
Để hỗ trợ IE 8, bạn có thể kết hợp với biểu thức chính quy replace()
Phương thức thay thế:
Ví dụ
var str = " Hello World! "; alert(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''));
Bạn cũng có thể sử dụng phương án replace trên để thêm hàm trim vào JavaScript String.prototype:
Ví dụ
if (!String.prototype.trim) { String.prototype.trim = function () { return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); }; var str = " Hello World! "; alert(str.trim());
Lấy ký tự từ chuỗi
Đây là hai phương thức để lấy ký tự từ chuỗi:An toànPhương thức:
- charAt(position)
- charCodeAt(position)
charAt() phương thức
charAt()
Phương thức trả về chuỗi tại vị trí chỉ định:
Ví dụ
var str = "HELLO WORLD"; str.charAt(0); // Trả về H
Phương thức charCodeAt()
charCodeAt()
Phương thức trả về mã unicode của ký tự tại vị trí chỉ định trong chuỗi:
Ví dụ
var str = "HELLO WORLD"; str.charCodeAt(0); // Trả về 72
Quyền truy cập thuộc tính (Property Access)
ECMAScript 5 (2009) cho phép quyền truy cập thuộc tính chuỗi [ ]:
Ví dụ
var str = "HELLO WORLD"; str[0]; // Trả về H
Việc sử dụng quyền truy cập thuộc tính có vẻ không rất đáng tin cậy:
- Không áp dụng cho Internet Explorer 7 hoặc các phiên bản sớm hơn
- Nó làm cho chuỗi trông giống như một mảng (thực chất không phải)
- Nếu không tìm thấy ký tự
[ ]
Trả vềundefined
vàcharAt()
Trả về chuỗi rỗng. - Nó là chỉ đọc.
str[0] = "A"
Sẽ không xảy ra lỗi (nhưng cũng sẽ không hoạt động!)
Ví dụ
var str = "HELLO WORLD"; str[0] = "A"; // Không xảy ra lỗi nhưng sẽ không hoạt động str[0]; // Trả về H
Lưu ý:Nếu bạn muốn xử lý chuỗi theo cách của mảng, bạn có thể chuyển nó thành mảng trước.
Chuyển chuỗi thành mảng
Có thể split()
Chuyển chuỗi thành mảng:
Ví dụ
var txt = "a,b,c,d,e"; // Chuỗi txt.split(","); // Chia bằng dấu phẩy txt.split(" "); // Chia bằng khoảng trống txt.split("|"); // Chia bằng dấu chấm phẩy
Nếu bỏ qua ký tự phân cách, mảng được trả về sẽ chứa toàn bộ chuỗi trong index [0].
Nếu ký tự phân cách là "\"", mảng được trả về sẽ là mảng chứa các ký tự đơn lẻ:
Ví dụ
var txt = "Hello"; // Chuỗi txt.split("\""
Tài liệu tham khảo đầy đủ String
Để có tài liệu tham khảo đầy đủ, vui lòng truy cập trang web đầy đủ của chúng tôi Tài liệu tham khảo chuỗi JavaScript.
Cuốn sách này bao gồm mô tả và ví dụ về tất cả các thuộc tính và phương thức của chuỗi.
- Trang trước Chuỗi JS
- Trang tiếp theo Tìm kiếm chuỗi JS