У меня есть строка, как это:Заменить символы, не слово, если данная последовательность не соответствует
"Jim-Bob's email @@@[email protected]@@[email protected]@@[email protected]@@ is: [email protected]"
Я хочу, чтобы заменить все символы без слов (символов и пробелов), за исключением @@@
разделителей.
настоящее время я использую:
str.gsub(/[^\[email protected]]+/, 'X')
, который дает:
"[email protected]@@[email protected]@@[email protected]@@[email protected]@@[email protected]"
На практике это достаточно хорошо, но это оскорбляет меня по двум причинам:
- The
@
в электронном адресе не заменяется. - Использование
[^\w]
вместо\W
чувствует себя неаккуратно.
Как заменить все символы без слов, если эти символы не составляют строки @@@[email protected]@@
или @@@[email protected]@@
разделителей?
Каким будет желаемый результат для строки '" @@@ hl @@@@ endhl @@ "?? –
Позвольте мне перефразировать мой вопрос: какой бы желаемый результат для строки' "@@@ hl @@@@ endhl @@"?? –
Я бы счел, что фиктивные данные и ожидать 'XXXhlXXXXendhlXX" ' – Xuor