gpt4 book ai didi

php - 如何在 PHP 中拆分 * 和 - 上的字符串?

转载 作者:行者123 更新时间:2023-12-03 22:53:01 25 4
gpt4 key购买 nike

为了拆分字符串,我使用了以下代码。

$string = "-sev*yes-sev1*no-sev2*yes";
split('[-*]', $string).

由于 split 已被弃用,您能否建议一种将字符串拆分为数组的替代方法。我试过爆炸,但它没有达到我的目的。输出应该是这样的,

Array
(
[0] => sev
[1] => yes
[2] => sev1
[3] => no
[4] => sev2
[5] => yes
)

感谢大家的回复。我尝试了 preg_split('[-*]', $string)。它已经拆分了字符串字符。我已将其修改为 preg_split('/[-*]/', $string)。它运作良好。如果您能向我解释其中的区别,那就太好了。

最佳答案

您可以使用 preg_split作为:

$string = "-sev*yes-sev1*no-sev2*yes";
$array = preg_split('/-|\*/', $string,-1, PREG_SPLIT_NO_EMPTY);

$array = preg_split('/-|\*/', $string);

或者你也可以使用strtok :

$tok = strtok($string, "-*");
$array = array();
while ($tok !== false) {
$array[] = $tok;
$tok = strtok("-*");
}

编辑:

 preg_split('[-*]', $string);

[ ] 被视为分隔符而不是 char 类,因此您使用正则表达式 -* 进行拆分,这意味着零个或多个连字符。

但是在

preg_split('/[-*]/', $string);

您正在使用正则表达式 [-*],它是匹配 *-

的字符类

关于php - 如何在 PHP 中拆分 * 和 - 上的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3556727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com