Phương thức substring() trong JavaScript

Phương thức substring() trong JavaScript
Phương thức substring() trong JavaScript

Chức năng của Phương thức substring() trong JavaScript

Phương thức substring() trong JavaScript dùng để lấy một chuỗi con từ một chuỗi gốc để tạo nên một chuỗi mới mà không làm thay đổi chuỗi gốc.

Cú pháp của Phương thức substring() trong JavaScript

Ví trí băt đầu ở trước

Nếu vị trí ở trước nhỏ hơn thì sẽ là vị trí bắt đầu:

var chuoimoi = chuoigoc.substring(vitribatdau,vitriketthuc);

chuoigoc: Chuỗi gốc dùng để thực hiện substring() mà không làm thay đổi chuỗi gốc.

chuoimoi: Chuỗi mới lấy kết quả trả về .

vitribatdau: vị trí bắt đầu để lấy ký tự.

vitriketthuc: vị trí kết thúc để lấy ký tự, tới vị trí kết thúc thì sẽ kết thúc và chỉ lấy tới vị trí kết thúc trừ 1.

Ví trí băt đầu ở sau

Nếu vị trí ở trước lớn hơn thì sẽ là vị trí kết thúc:

var chuoimoi = chuoigoc.substring(vitriketthuc,vitribatdau);

chuoigoc: Chuỗi gốc dùng để thực hiện substring() mà không làm thay đổi chuỗi gốc.

chuoimoi: Chuỗi mới lấy kết quả trả về .

vitribatdau: vị trí bắt đầu để lấy ký tự.

vitriketthuc: vị trí kết thúc để lấy ký tự, tới vị trí kết thúc thì sẽ kết thúc và chỉ lấy tới vị trí kết thúc trừ 1.

Chỉ có 1 vị trí bắt đầu

var chuoimoi = chuoigoc.substring(vitribatdau);

vitribatdau : vị trí bắt đầu tới cuối chuỗi để lấy ký tự.

chuoigoc: Chuỗi gốc dùng để thực hiện substring() mà không làm thay đổi chuỗi gốc.

chuoimoi: Chuỗi mới lấy kết quả trả về .

Code Phương thức substring() trong JavaScript

<script>
var chuoigoc = "Web Mới xin chào quý khách";
// Lấy chuỗi 'xin' từ vị trí thứ 8 tới 10
document.write("<b>// Lấy chuỗi 'xin' từ vị trí thứ 8 tới 10</b><br>");
var chuoimot = chuoigoc.substring(8,11); // Kết quả: xin
document.write(chuoimot +"<br>");
// Lấy chuỗi 'xin' từ vị trí thứ 8 tới 10
document.write("<b>// Lấy chuỗi 'xin' từ vị trí thứ 8 tới 10</b><br>");
var chuoihai = chuoigoc.substring(11,8); // Kết quả: xin
document.write(chuoihai +"<br>");
// Lấy chuỗi từ vị trí thứ 8 tới cuối chuỗi
document.write("<b>// Lấy chuỗi từ vị trí thứ 8 tới cuối chuỗi</b><br>");
var chuoiba = chuoigoc.substring(8); // Kết quả: xin chào quý khách
document.write(chuoiba +"<br>");
</script>

Kết quả:

// Lấy chuỗi 'xin' từ vị trí thứ 8 tới 10
xin
// Lấy chuỗi 'xin' từ vị trí thứ 8 tới 10
xin
// Lấy chuỗi từ vị trí thứ 8 tới cuối chuỗi
xin chào quý khách

Chạy Thử

Những lưu ý khi sử dụng substring() trong JavaScript

substring() khá đơn giản khi sử dụng, nhưng một vài quy tắc về vị trí ký tự và cách xử lý tham số có thể khiến kết quả khác với dự kiến. Nắm rõ những điểm này sẽ giúp bạn chọn đúng cách cắt chuỗi và tránh lỗi khi xử lý dữ liệu.

substring() xử lý vị trí bắt đầu và kết thúc như thế nào?

Phương thức substring() nhận hai vị trí để xác định đoạn chuỗi cần lấy. Vị trí đầu tiên được tính từ 0, còn vị trí thứ hai là điểm kết thúc và không được lấy vào kết quả.

Nếu bỏ qua tham số thứ hai, substring() sẽ lấy chuỗi từ vị trí bắt đầu cho đến hết. Đặc biệt, khi vị trí bắt đầu lớn hơn vị trí kết thúc, JavaScript sẽ tự động đổi chỗ hai giá trị này thay vì trả về chuỗi rỗng.

const text = "JavaScript";

console.log(text.substring(0, 4));
console.log(text.substring(4, 0));

Cả hai lệnh trên đều trả về "Java". Đây là điểm cần lưu ý nếu các vị trí được tạo ra từ dữ liệu động, bởi thứ tự tham số không được giữ nguyên như cách bạn truyền vào.

substring() có làm thay đổi chuỗi gốc không?

substring() không chỉnh sửa chuỗi ban đầu. Phương thức này tạo và trả về một chuỗi mới chứa phần ký tự được chọn, trong khi giá trị của chuỗi gốc vẫn giữ nguyên.

const text = "WebMoi";
const result = text.substring(0, 3);

console.log(result);
console.log(text);

Kết quả là "Web" và "WebMoi". Vì vậy, nếu muốn lưu phần chuỗi sau khi cắt, bạn cần gán kết quả của substring() cho một biến hoặc sử dụng trực tiếp trong biểu thức khác.

Khi nào nên dùng substring() thay vì slice()?

substring() phù hợp khi bạn chỉ cần lấy một đoạn chuỗi dựa trên hai vị trí không âm và muốn JavaScript tự xử lý trường hợp vị trí bắt đầu lớn hơn vị trí kết thúc. Ngược lại, slice() linh hoạt hơn khi cần sử dụng chỉ số âm để đếm vị trí từ cuối chuỗi.

const text = "JavaScript";

console.log(text.substring(4, 10));
console.log(text.slice(-6));

Trong ví dụ trên, substring() lấy phần chuỗi dựa trên vị trí xác định từ đầu, còn slice() có thể lấy dữ liệu từ cuối nhờ chỉ số âm. Do đó, hãy chọn phương thức dựa trên cách bạn xác định vị trí cần lấy thay vì chỉ dựa vào tên hoặc thói quen sử dụng.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Phương thức substring() trong JavaScript.

  • ★★★★★ ★★★★★
  • 0 Bình luận
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Phương thức substring() trong JavaScript
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !