REG EXP, чтобы заменить все слово, если какое-либо слово содержит любой не буквенно-цифровой символ или пространство
-
05-10-2019 - |
Вопрос
например
Строка = "Это Re @ lly длинные длинные, длинные! предложение";
становится
строка = "Это длительное предложение";
В основном так все не буквенно-цифровые слова или удаленные пробелы в прикреплении
Есть идеи?
Решение
Попробуй это:
preg_replace("/(^|\\s)\\S*?[^ a-zA-Z0-9]\\S*?(\\s|$)/", '$1', $string)
Другие советы
Я думаю, что что-то подобное это довольно интуитивно понятно:
<?php
$text = "This is a #@^!%$ re@lly long long,long! sentence";
print preg_replace("/\\w*[^\\w\\s]\\w*\\s*/", "", $text);
?>
Выходность (Как видно на IDeone.com):
This is a long sentence
Это работает путем сопоставления любой последовательности \w*
это сопровождается [^\w\s]
(ни однозначное характера, ни пробелы), за которыми следует какая-либо последовательность \w*\s*
. Отказ Все, что соответствует этому можно удалить, так что он заменен на ""
.
Смотрите также
Не связан с StackOverflow