Preg_replace 包含一部分字符串,但采用另一种格式
Preg_replace with a part of string but in another format
我有一个格式如下的字符串:
$string = 'First\Second\Third';
'First' 和 'Second' 总是相同的,但 Third' 只是一个例子(可以是任何东西,但它们之间有特殊字符 '\')。
我想创建一个这样的字符串:
$string = 'Second_Third';
我尝试使用函数 preg_replace,这是我的代码:
preg_replace(Array('/^First\\/', '/Second\\[^\s]+/'), Array('', '/Second\_[^\s]+/'), $string);
我不知道该怎么做。
10 倍
您可以使用:
$str = preg_replace('/.*?\\(Second)\\(.+)$/', '_');
如果您只是在寻找 \
,那么您不需要正则表达式。您可以进行常规字符匹配。使用 list
和 explode
你可以这样做:
list($first, $second) = explode("\", "First\Second\Third");
echo $first . "_" . $second;
注意需要转义\
因为是转义字符:>
我有一个格式如下的字符串:
$string = 'First\Second\Third';
'First' 和 'Second' 总是相同的,但 Third' 只是一个例子(可以是任何东西,但它们之间有特殊字符 '\')。
我想创建一个这样的字符串:
$string = 'Second_Third';
我尝试使用函数 preg_replace,这是我的代码:
preg_replace(Array('/^First\\/', '/Second\\[^\s]+/'), Array('', '/Second\_[^\s]+/'), $string);
我不知道该怎么做。
10 倍
您可以使用:
$str = preg_replace('/.*?\\(Second)\\(.+)$/', '_');
如果您只是在寻找 \
,那么您不需要正则表达式。您可以进行常规字符匹配。使用 list
和 explode
你可以这样做:
list($first, $second) = explode("\", "First\Second\Third");
echo $first . "_" . $second;
注意需要转义\
因为是转义字符:>