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

Cách thay thế tất cả dấu chấm (dots) trong chuỗi bằng JavaScript

Để thay thế tất cả dấu chấm (.) trong chuỗi, bạn cần **escape** ký tự chấm trong regex (vì . trong regex khớp với bất kỳ ký tự nào) và dùng cờ g (global) với phương thức replace().

Ví dụ minh họa

Mã sau thay thế tất cả dấu chấm bằng khoảng trắng:

<!DOCTYPE html>
<html>
<head></head>
<body>
  <script>
    var str = 'Demo.Text.with.dots';
    document.write("Chuỗi gốc: " + str + "<br>");

    // Escape dấu chấm bằng \. và dùng flag g (global)
    var res = str.replace(/\./g, ' ');

    document.write("Chuỗi sau replace: " + res);
  </script>
</body>
</html>

Giải thích regex /\./g

  • / ... /: Để bọc regex literal.
  • \.: Escape dấu chấm — khớp chính xác ký tự . (không phải "bất kỳ ký tự").
  • g: Global flag — tìm **tất cả** lần xuất hiện, không dừng ở lần đầu.

Các cách khác

Phương pháp Code Lưu ý
replaceAll (ES2021)str.replaceAll('.', ' ')Không cần regex, tự escape, hỗ trợ tốt trình duyệt hiện đại
Regex + replacestr.replace(/\./g, ' ')Tiêu chuẩn cũ, hỗ trợ mọi nơi
Split + Joinstr.split('.').join(' ')Đơn giản, không regex, hiệu năng tốt cho chuỗi ngắn
Regex constructorstr.replace(new RegExp('\\.', 'g'), ' ')Khi pattern từ biến (dynamic)

Lưu ý

  • replace() **không thay đổi chuỗi gốc** (string immutable), trả về chuỗi mới.
  • Nếu dùng str.replace('.', ' ') (không regex, không flag g) → chỉ thay **lần đầu tiên**.
  • Để thay thế nhiều ký tự đặc biệt regex: str.replace(/[.+*?^${}()|[\]\\]/g, '\\$&') (escape toàn bộ metacharacters).