2014-06-18 114 views
1

我只是想在從「StringA」開始並以「/ r」結尾的情況下從字符串中刪除整個子字符串。刪除包含在特定開始和結束字符串中的字符串

FX原始字符串:

"PeterStringAnone/rGriffin" 

應該

"PeterGriffin" 
+0

你不必這樣做,正則表達式必然 – Daan

+0

是的,我剛剛添加它,因爲我猜它也可以用正則表達式來完成。 –

+1

嗯,是的,它可以用正則表達式來完成。 – georg

回答

2

Demo

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

接受你的,因爲它與其他類似,它也有一個演示。我希望我對其他人不公平:) –

+0

@PotneySwitters謝謝巴迪:) –

2

您應該測試此:

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

我希望這會幫助你。

3

您可以使用以下。

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

如果你將有此多的情況下,遵循.*?非貪婪比賽。

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