如何从字符串中删除完全匹配?

时间:2019-03-27 10:14:53

标签: php

我如何从字符串(例如字符串)中替换/删除完全匹配的单词

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

如何删除com(与字符串完全匹配),但不删除命令中的com

3 个答案:

答案 0 :(得分:7)

您需要使用preg_replace。基本上 preg_replace() 在主题中搜索模式匹配项并将其替换为替换项。

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

说明:模式说明如下:

\ b:匹配单词边界。
com:要匹配的文本。

有关更多信息,请 this

答案 1 :(得分:3)

简短版本:

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);

答案 2 :(得分:1)

另一个版本... 如果您输入的字符串始终按此顺序进行,则可以使用rtrim

摘要

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

输出

Hello world, command data test

实时demo

文档 rtrim