Как удалить точное совпадение из строки?

#php

#php

Вопрос:

Как я могу заменить / удалить слово точного совпадения из строки, пример строки

 $string = 'Hello world, command data test com';
  

Как удалить com (точное совпадение из строки), но не удалять com из команды, чтобы

Комментарии:

1. str_replace удаляет com из command to, это не помогает

Ответ №1:

Вам нужно использовать preg_replace . В основном preg_replace() выполняет поиск в теме совпадений с шаблоном и заменяет их заменой.

 <?php
   $string = 'Hello world, command data test com';
   $string = preg_replace('/bcomb/', '', $string);
   echo $string;
?>
  

Объяснение: Приведенный выше пример шаблона объясняется ниже

b: Сопоставьте границу слова.
com: Текст для сопоставления.

Для получения дополнительных определений специальных символов проверьте это

Комментарии:

1. Спасибо! это то, что мне было нужно!

2. @Smartpal я так не думаю, str_replace() замените команду на mand

3. @ShanteshwarInde Да, это…. Извините, я забыл com в command. Проголосовали за

4. @ShanteshwarInde готово, мне пришлось подождать еще 4 минуты, чтобы принять это

Ответ №2:

Краткая версия:

 join(' ',array_diff(explode(' ', $string), ['com']));
  

Объяснение:

  • explode(' ', $string) разбивает вашу строку на массив слов
  • array_diff($words, ['com']) удаляет элементы второго массива из первого массива. Таким образом, в случае, если массив $words содержит слово com , оно будет удалено
  • join(' ', $words) объединяет все строки в $words массиве, отделяя каждое слово друг от друга пробелом.

Полный фрагмент:

 <?php
$string = 'Hello world, command data test com';
$words = explode(' ', $string);
$words = array_diff($words, ['com']);
$string = join(' ', $words);
  

Комментарии:

1. хотя в моем ответе больше голосов «за», но этот мой любимый! просто добавьте объяснение, чтобы больше людей поняли. Спасибо!

2. Я, честно говоря, думаю, что ваш вариант лучше! Ахахах, я добавлю несколько лучших объяснений

Ответ №3:

Другая версия…. Если ваша входная строка всегда в таком порядке, вы можете сделать это с rtrim

Фрагмент

 $string = 'Hello world, command data test com';
$string = rtrim($string, ' com');
echo $string;
  

Вывод

 Hello world, command data test
  

Живая демонстрация

Документы rtrim