@Jigan2

Регулярка php удалить пробел?

Могут быть строки вида
3 д панель
панель 3 д
панель 3 Д
плитка 3 д. (может быть любой знак препинания)
ул. Степана Разина 23 д 3 кв 3 (23 д Не должно замениться)
Если будет 223 д или 223 дом не должно заменяться.

Нужно что бы в строке "3 д" заменилось на "3д" ли "3д."
может быть любой знак препинания после "д".
Так же может быть большая "Д"

Помогите пожалуйста в регулярках не силен.
  • Вопрос задан
  • 67 просмотров
Решения вопроса 2
dollar
@dollar
На чёткий вопрос - чёткий ответ.
Искать: (^| )3 [дД]($|[ .,!?:;])
Заменить на: $13д$2

https://regex101.com/r/6Gv4HC/2
Ответ написан
@Jigan2 Автор вопроса
В итоге сделал так

$text = preg_replace('#\b(3)\s*($|[Дд])($|[ .,!?:;])?#u', '$1$2$3', $text);


Благодарю всех за помощь!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы