Метод replaceAll() в JavaScript полностью отличается от метода replace() в регулярном выражении JS. Я столкнулся с моментом ага в работе со строками и желанием заменить текущую строку чего-то новой строкой чего-то другого, когда я обнаружил String.prototype.replaceAll() в MDN Web Docs.
Согласно веб-документам MDN: Метод replaceAll()
возвращает новую строку, в которой все совпадения pattern
заменены на replacement
. pattern
может быть строкой или RegExp
, а replacement
может быть строкой или функцией, вызываемой для каждого совпадения. Исходная строка остается без изменений
Синтаксическая структура в replaceAll()
- replaceAll(regexp, newSubstr)
- replaceAll(regexp, replacerFunction)
- заменить все (substr, newSubstr)
- replaceAll (substr, replacerFunction)
Кроме того, я реализую метод replaceAll() для этой проблемы с Leetcode.
var defangIPaddr = function(address) { //solution with replaceAll() return address.replaceAll('.', "[.]"); //solution using regex in replace() return address.replace(/[.]/g,"[.]"); //or try this (below) return address.replace(/\./g,"[.]"); //solution using two methods in split() and join() return address.split('.').join('[.]') }
Похлопайте, если вам понравилось это чтение. Спасибо.
Удачного кодирования.
Ссылки
• String.prototype.replaceAll()». Веб-документы MDN.