Preg_replace包含字符串的一部分但以另一种格式

时间:2015-07-02 14:27:00

标签: php regex preg-replace

我有一个格式为

的字符串
$string = 'First\Second\Third';

'首先'和'第二'总是一样但是第三个'只是一个例子(可以是任何东西,只有特殊字符和它们之间的对象)。

我想创建一个类似的字符串:

$string = 'Second_Third';

我尝试使用函数 preg_replace ,这是我的代码:

preg_replace(Array('/^First\\\/', '/Second\\\[^\s]+/'), Array('', '/Second\_[^\s]+/'), $string);

我不知道该怎么做。

10倍

2 个答案:

答案 0 :(得分:0)

您可以使用:

$str = preg_replace('/.*?\\\\(Second)\\\\(.+)$/', '$1_$2');

RegEx Demo

答案 1 :(得分:0)

如果您只是寻找\,那么您就不需要正则表达式。你可以做一个常规的角色匹配。使用listexplode,您可以这样做:

list($first, $second) = explode("\\", "First\\Second\\Third");
echo $first . "_" . $second;

请注意,您需要转义\,因为它是转义字符:>