REG EXP, чтобы заменить все слово, если какое-либо слово содержит любой не буквенно-цифровой символ или пространство

StackOverflow https://stackoverflow.com/questions/2940848

Вопрос

например

Строка = "Это 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*. Отказ Все, что соответствует этому можно удалить, так что он заменен на "".

Смотрите также

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top