删除特定开始和结束字符串中包含的字符串

时间:2014-06-18 12:20:27

标签: php regex

当子字符串以“String”开头并以“/ r”结尾时,我只想从字符串中删除整个子字符串。

FX原始字符串:

"PeterStringAnone/rGriffin"

应该是

"PeterGriffin"

3 个答案:

答案 0 :(得分:3)

您可以使用以下内容。

$text = 'PeterStringAnone/rGriffin';
$text = preg_replace('~StringA.*/r~i', '', $text);
echo $text; //=> "PeterGriffin"

如果您遇到多种情况,请按.* ?进行非贪婪匹配。

$text = preg_replace('~StringA.*?/r~i', '', $text);

答案 1 :(得分:2)

你应该测试一下:

$pattern = "(.*)StringA.*/r(.*)";
$replacement = "$1$2";
$string = "PeterStringAnone/rGriffin";
$new_string = preg_replace($pattern, $replacement, $string);

我希望它会对你有所帮助。

答案 2 :(得分:2)

Demo

$re = '/StringA[\w\d]+\/r/';
$str = 'PeterStringAnone/rGriffin'; 
$result = preg_replace($re, '', $str);