Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Lấy phần chuỗi sau ký tự chỉ định trong JavaScript

Để trích xuất một phần của chuỗi dựa trên vị trí của một ký tự cụ thể, phương thức substring() kết hợp với indexOf() là giải pháp đơn giản và hiệu quả.

Phương thức str.substring()

substring(startIndex, endIndex) cắt chuỗi từ startIndex (bao gồm) đến endIndex (không bao gồm). Nếu chỉ cung cấp một tham số, nó cắt từ vị trí đó đến cuối chuỗi.

Cú pháp lấy phần SAU ký tự

string.substring(string.indexOf(character) + 1);

indexOf(character) trả về vị trí đầu tiên của ký tự. Cộng 1 để bỏ qua chính ký tự đó.

Cú pháp lấy phần TRƯỚC ký tự

string.substring(0, string.indexOf(character));

Ví dụ hoàn chỉnh

<script>
  function layPhanChuoi(str, kyTu, viTri) {
    // viTri: 'sau' hoặc 'truoc'
    const idx = str.indexOf(kyTu);
    if (idx === -1) return str; // Không tìm thấy ký tự

    if (viTri === 'sau') {
      return str.substring(idx + 1);
    } else if (viTri === 'truoc') {
      return str.substring(0, idx);
    }
    return str;
  }

  // Lấy phần trước '&'
  document.write(layPhanChuoi('Tutorix & Tutorialspoint', '&', 'truoc')); // "Tutorix "
  document.write('<br>');
  // Lấy phần sau ':'
  document.write(layPhanChuoi('Tutorix: a best e-learning platform', ':', 'sau')); // " a best e-learning platform"
</script>

Kết quả

Tutorix 
 a best e-learning platform

Lưu ý quan trọng

  • Nếu ký tự không tồn tại, indexOf() trả về -1. Cần kiểm tra trước khi dùng.
  • substring() không thay đổi chuỗi gốc (chuỗi bất biến).
  • Có thể dùng split() cho trường hợp đơn giản: str.split(character)[1] (phần sau) hoặc [0] (phần trước).