NỘI DUNG BÀI VIẾT
Bài viết dưới đây, tôi muốn chỉ cho bạn cách lấy n ký tự cuối cùng của chuỗi trong JavaScript. Để hiểu hơn về cách lấy trước tiên mình cần tìm hiểu về chuỗi ký tự là gì?
Chuỗi ký tự là gì?
Kiểu char chỉ chứa được một ký tự. Để lưu trữ một chuỗi ký tự (nhiều ký tự), ta sử dụng mảng (một chiều) các ký tự. Tức là, chuỗi ký tự (mảng ký tự) là mảng một chiều mà tất cả các phần tử trong mảng có kiểu ký tự (char).
Cú pháp khai báo
char <tên chuỗi >[<kích thước>];
Lưu ý: Mảng ký tự kết thúc bằng ký tự ‘\0’ (null). Do đó, độ dài chuỗi bằng kích thước mảng – 1.
Ví dụ
char hoten[30]; // Dài 29 ký tự
char ngaysinh[9]; // Dài 8 ký tự
Code language: JavaScript (javascript)
Các hàm xử lý chuỗi ký tự
Ngôn ngữ C++ cung cấp nhiều hàm cho việc thao tác với chuỗi. Dưới đây là một số hàm xử lý chuỗi thường dùng:
Hàm strlen(char s[])
Trả về chiều dài chuỗi s
char cLine[40] = "Have a nice day!";
int iLength;
iLength = strlen(cLine);//16
Code language: JavaScript (javascript)
Hàm strcat(char s1[], char s2[])
Nối chuỗi s2 vào cuối chuỗi s1.
char str1[25] ="Hello ";
char str2[11] = "World";
strcat(str1,str2);//Hello World
Code language: JavaScript (javascript)
Hàm cin.ignore(int n, char ch)
Bỏ qua n ký tự trước khi gặp ký tự ch trong bộ nhớ đệm. Thường dùng trước lệnh cin.getline().
cin.ignore(200,'\n');
Code language: JavaScript (javascript)
Hàm cin.getline(char s[], int n)
Đọc từ 1 tới n ký tự và lưu vào s.
char cLine[50];
cin.getline(cLine,50);
Code language: CSS (css)
Hàm isalpha(char ch)
Kiểm tra giá trị trong ch có phải là chữ cái hay không.
Hàm isdigit(char ch)
Kiểm tra giá trị trong ch có phải chữ số hay không.
Hàm isspace(char ch)
Kiểm tra giá trị trong ch có phải khoảng trắng hay không.
Hàm strlwr(char s[])
Đổi tất cả ký tự của s sang chữ thường.
Hàm strupr(char s[])
Đổi tất cả ký tự của s sang chữ hoa.
Hàm strcmp(char s[], char t[])
So sánh 2 chuỗi s và t, trả về giá trị âm nếu s<t, 0 nếu s bằng t, giá trị dương nếu s>t.
Hàm strcpy(char s[], char t[])
Gán nội dung của chuỗi t cho chuỗi s.
Cách lấy n ký tự cuối cùng của chuỗi trong JavaScript
Để lấy các N
ký tự cuối cùng của một chuỗi trong JavaScript, hãy gọi phương thức slice()
trên chuỗi, truyền -N
dưới dạng đối số. Ví dụ: str.slice(-3)
trả về một chuỗi mới chứa 3 ký tự cuối cùng của str
.
const str = 'Coding Beauty';
const last3 = str.slice(-3);
console.log(last3); // uty
const last6 = str.slice(-6);
console.log(last6); // Beauty
const last10 = str.slice(-10);
console.log(last10); // ing Beauty
Code language: JavaScript (javascript)
Phương thức String()
slice()
trả về một phần của chuỗi giữa chỉ mục đầu và chỉ mục kết thúc, được chỉ định bởi đối số thứ nhất và thứ hai tương ứng. Khi bạn chỉ chỉ định một chỉ mục bắt đầu, nó sẽ trả về toàn bộ phần của chuỗi sau chỉ mục bắt đầu này.
Khi bạn chuyển một số âm làm đối số, hãy đếm ngược slice()
từ ký tự chuỗi cuối cùng để tìm chỉ số tương đương. Vì vậy, chuyển -N
để slice()
chỉ định một chỉ mục bắt đầu của str.length - N
.
const str = 'Coding Beauty';
const last6 = str.slice(-6);
console.log(last6); // Beauty
const last6Again = str.slice(str.length - 6);
console.log(last6Again); // Beauty
Code language: JavaScript (javascript)
Mẹo
Nếu bạn cố gắng lấy nhiều ký tự hơn chuỗi chứa, hãy trả về toàn bộ chuỗi slice()
thay vì đưa ra lỗi.
const str = 'Coding Beauty';
const last3 = str.substring(str.length - 3);
console.log(last3); // uty
Code language: JavaScript (javascript)
Trong ví dụ này, tôi đã cố gắng lấy 50 ký tự cuối cùng của chuỗi bằng cách chuyển -50
làm đối số đầu tiên, nhưng chuỗi 'Coding Beauty'
chỉ chứa 13 ký tự. Do đó, chúng tôi nhận được toàn bộ chuỗi từ slice()
.
Ghi chú
Bạn có thể sử dụng substring()
thay thế slice()
để lấy N ký tự đầu tiên của một chuỗi:
const str = 'Coding Beauty';
const last3 = str.substring(str.length - 3);
console.log(last3); // uty
Code language: JavaScript (javascript)
Tuy nhiên, tôi phải tự tính toán chỉ mục bắt đầu bằng cách thủ công str.length - N
, điều này làm cho mã khó đọc hơn. Điều này là do không giống slice()
, substring()
sử dụng 0
làm chỉ mục bắt đầu nếu một số âm được chuyển qua.
const str = 'Coding Beauty'; // -3 is negative, uses 0 instead const notLast3 = str.substring(-3); console.log(notLast3); // Coding Beauty
Kết luận
Vậy mình đã giúp bạn hiểu hơn về cách lấy n ký tự cuối cùng trong javascript.
Cảm ơn bạn đã theo dõi bài viết!
Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.
Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.
TỔNG HỢP TÀI LIỆU HỌC LẬP TRÌNH CƠ BẢN CHO NGƯỜI MỚI BẮT ĐẦU
KHOÁ HỌC BOOTCAMP JAVA/JAVASCRIPT/PHP TRỞ THÀNH LẬP TRÌNH VIÊN TRONG 5-6 THÁNG