0

我需要删除单词 bettwen slashes 我有这个字符串:

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

字符串是动态的,总是变化的。

可以用正则表达式完成吗?

4

3 回答 3

1

我确信有一个更好的表达方式,但考虑到问题中的字符串,这可能已经足够好了。

$string='This a test UP/PL/EX/TU 2013';
$output=preg_replace("/\s[\w\/]+\s/", " ", $string);
echo $output;
于 2013-10-20T21:05:23.417 回答
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

高温高压

于 2013-10-20T21:11:03.217 回答
0

你可以使用这个:

$result = preg_replace('~\h*+\w*+\/(?>\w+\/?)++\h*+~', ' ', $string);
于 2013-10-20T21:20:39.630 回答