我需要将一个字符串分成两部分。该字符串包含由空格分隔的单词,并且可以包含任意数量的单词,例如:
$string = "one two three four five";
第一部分需要包含除最后一个单词外的所有单词。
第二部分只需要包含最后一个单词。
编辑:两个部分需要作为字符串返回,而不是数组,例如:
$part1 = "one two three four";
$part2 = "five";
我需要将一个字符串分成两部分。该字符串包含由空格分隔的单词,并且可以包含任意数量的单词,例如:
$string = "one two three four five";
第一部分需要包含除最后一个单词外的所有单词。
第二部分只需要包含最后一个单词。
编辑:两个部分需要作为字符串返回,而不是数组,例如:
$part1 = "one two three four";
$part2 = "five";
贪婪地遍历输入字符串中的字符,然后匹配最后出现的空格并在其上进行拆分。非常简单,没有回溯、捕获或任何其他减慢正则表达式引擎速度的原因。
\K
表示“忘记到此为止所有匹配的字符”。
代码:(演示)
$string = "one two three four five";
var_export(
preg_split('/.*\K /', $string)
);
输出:
array (
0 => 'one two three four',
1 => 'five',
)
或者作为单独的变量:(演示)
[$part1, $part2] = preg_split('/.*\K /', $string);
var_export($part1);
echo "\n";
var_export($part2);