Удалите все вхождения с глобальными RegExp и String.prototype.replace

aleclarson спросил: 03 февраля 2018 в 12:22 в: javascript
function strip(match, before, after) {
  return before && after ? ' ' : ''
}

var regex = /(^|\s)(?:y|x)(\s|$)/g

var str = ('x 1 y 2 x 3 y').replace(regex, strip)
console.log(str)

str = ('x y 2 x 3 y').replace(regex, strip)
console.log(str)

Цель состоит в том, чтобы удалить все вхождения "x" и "y".

Первый пример работает, как и ожидалось, но второй - нет.

Требования:

  • Решение должно поддерживать удаление слов любой длины.

  • Между словами не должно быть больше 1 пробела.

  • Избегайте удаления слов, содержащих"x" или"y"(должно быть равным).

Могу ли я обойти это с помощью replace или мне нужно другое решение?

0 ответов