用字符串的一部分替换为另一种格式的Preg_replace


Preg_replace with a part of string but in another format

我有一个字符串,格式为:

$string = 'First'Second'Third';

"First"answers"Second"总是相同的,但"Third"只是一个示例(可以是除in之外的任何内容,它们之间可以有特殊字符"''"(。

我想创建一个这样的字符串:

$string = 'Second_Third';

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

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

我不知道该怎么做。

10倍

您可以使用:

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

RegEx演示

如果您只是在寻找',那么您不需要正则表达式。你可以进行常规的字符匹配。使用listexplode可以这样做:

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

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