Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 使用两个分隔符分解字符串_Regex_Php_Arrays_String - Fatal编程技术网

Regex 使用两个分隔符分解字符串

Regex 使用两个分隔符分解字符串,regex,php,arrays,string,Regex,Php,Arrays,String,首先,我已经看到了以下问题: 还有更多。如果我有这样的输入: A@B#C a@b#c 对于每一行,我有两个分隔符@和#,我希望它们以数组的方式分开: 数组 ( [0]=>A [1] =>B [2] =>C ) 排列 ( [0]=>a [1] =>b [2] =>c ) 我有这样的循环代码: foreach(分解(PHP_EOL,$input)为$line){ $line=分解(“@”,$line); $line[1]=分解(#“,$line[1]); } 我知道我做错了。我得到的

首先,我已经看到了以下问题:

还有更多。如果我有这样的输入:

A@B#C
a@b#c
对于每一行,我有两个分隔符
@
#
,我希望它们以数组的方式分开:

数组
(
[0]=>A
[1] =>B
[2] =>C
)
排列
(
[0]=>a
[1] =>b
[2] =>c
)
我有这样的循环代码:

foreach(分解(PHP_EOL,$input)为$line){
$line=分解(“@”,$line);
$line[1]=分解(#“,$line[1]);
}
我知道我做错了。我得到的结果是:

数组
(
[0]=>A
[1] =>阵列
(
[0]=>B
[1] =>C
)
)
排列
(
[0]=>a
[1] =>阵列
(
[0]=>b
[1] =>c
)
)

我想不出还有什么别的想法,所以,有人能指导我如何在同一数组中拆分字符串吗?附言:我不想用

我的首选解决方案是使用,但既然问题明确禁止使用regex,那么就这样做怎么样:

$line = explode("#", str_replace("@", "#", $line));

所以基本上,只需将所有出现的分隔符1替换为分隔符2,然后在分隔符2上拆分即可。

输入的是1字符串还是2?@Rizier123我不明白。1或2是什么意思?是这样:
$input1=”A@B#C”$输入2=”a@b#c”或是这样:
$input=”A@B#Ca@b#c”@Rizier123假定为一行。现在检查完整代码。这是一个循环<代码>:)
Wow。我才意识到我有多累,我需要一些睡眠。我的意思是“为什么你不想使用正则表达式”:)嘘。去睡觉。