2013-10-20 73 views
0

我需要刪除的話bettwen斜線 我有這個字符串:刪除單詞之間/斜線

This a test UP/PL/EX/TU 2013 
this a test 2 MG/MF/RS/TB 2007 

我需要這個輸出

This a test 2013 
this a test 2 2007 

的字符串dinamically,總是變化。

REGEX可以完成嗎?

+1

你有什麼到目前爲止已經試過? – ncm

+1

是的,它可以通過正則表達式來嘗試它! – mjb4

+1

如果你使用的是Linux,特別是KDE,它有一個很好的正則表達式工具,你可以用它來玩正則表達式。最好的方法是玩,看看有什麼可行的,什麼不可行。 – Welshboy

回答

1

我相信有一個更好的表達,但考慮到問題中的字符串,這可能是夠好的。

$string='This a test UP/PL/EX/TU 2013'; 
$output=preg_replace("/\s[\w\/]+\s/", " ", $string); 
echo $output; 
1
$s1 = 'This a test UP/PL/EX/TU 2013'; 
$s2 = ' this a test 2 MG/MF/RS/TB 2007'; 

$regex = '|\s*(?:[[:alnum:]]+/)+[[:alnum:]]+\s*|'; 

echo "$s1 => '", preg_replace($regex, ' ', $s1), "\n"; 
echo "$s2 => '", preg_replace($regex, ' ', $s2), "\n"; 

輸出:

This a test UP/PL/EX/TU 2013 => 'This a test 2013 
this a test 2 MG/MF/RS/TB 2007 => ' this a test 2 2007 

HTH

0

您可以使用此:

$result = preg_replace('~\h*+\w*+\/(?>\w+\/?)++\h*+~', ' ', $string);