Phương thức String Replace ()

Tìm hiểu tất cả về phương thức JavaScript Replace () của một chuỗi

Tìm thấyĐầu tiênsự xuất hiện củastr1trong chuỗi hiện tại và thay thế nó bằngstr2.

Trả về một chuỗi mới mà không làm thay đổi chuỗi ban đầu.

'JavaScript'.replace('Java', 'Type') //'TypeScript'

Bạn có thể vượt qua mộtbiểu hiện thông thườngnhư đối số đầu tiên:

'JavaScript'.replace(/Java/, 'Type') //'TypeScript'

replace()sẽ chỉ thay thếĐầu tiênxuất hiện, trừ khi bạn sử dụng regex làm chuỗi tìm kiếm và bạn chỉ định toàn cục (/g) Lựa chọn:

'JavaScript JavaX'.replace(/Java/g, 'Type') //'TypeScript TypeX'

Tham số thứ hai có thể là một hàm. Hàm này sẽ được gọi khi tìm thấy kết quả phù hợp (hoặc đối vớimỗiđối sánh với foundm nếu sử dụng một regex toàn cầu/g), với một số đối số:

  • chuỗi phù hợp với mẫu
  • một số nguyên chỉ định vị trí trong chuỗi nơi kết quả khớp xảy ra
  • chuỗi

Giá trị trả về của hàm sẽ thay thế phần đã khớp của chuỗi.

Thí dụ:

'JavaScript'.replace(/Java/, (match, index, originalString) => {
  console.log(match, index, originalString)
  return 'Test'
}) //TestScript

Điều này cũng hoạt động đối với các chuỗi thông thường, không chỉ regexes:

'JavaScript'.replace('Java', (match, index, originalString) => {
  console.log(match, index, originalString)
  return 'Test'
}) //TestScript

Trong trường hợp regex của bạn cóbắt nhóm, những giá trị đó sẽ được chuyển dưới dạng đối số ngay sau tham số khớp:

'2015-01-02'.replace(/(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/, (match, year, month, day, index, originalString) => {
  console.log(match, year, month, day, index, originalString)
  return 'Test'
}) //Test

Tải xuống miễn phí của tôiSổ tay dành cho Người mới bắt đầu JavaScript


Các hướng dẫn js khác: