我试图在PHP中拆分字符串.我应该使用两个分隔符来分割字符串:新行和逗号.我的代码是:
$array = preg_split("/\n|,/", $str)
Run Code Online (Sandbox Code Playgroud)
但我使用逗号进行字符串拆分,但不使用\n.这是为什么?另外,我是否必须考虑"\ r \n"符号?
我可以想到发生这种情况的两个可能原因.
1. 您使用的是单引号字符串:
$array = preg_split("/\n|,/", 'foo,bar\nbaz');
print_r($array);
Array
(
[0] => foo
[1] => bar\nbaz
)
Run Code Online (Sandbox Code Playgroud)
如果是这样,请使用双引号"代替......
$array = preg_split("/\n|,/", "foo,bar\nbaz");
print_r($array);
Array
(
[0] => foo
[1] => bar
[2] => baz
)
Run Code Online (Sandbox Code Playgroud)
2.你有多个新行序列,\R如果是这样我会建议使用.这匹配ASCII范围内的任何Unicode换行序列.
$array = preg_split('/\R|,/', "foo,bar\nbaz\r\nquz");
print_r($array);
Array
(
[0] => foo
[1] => bar
[2] => baz
[3] => quz
)
Run Code Online (Sandbox Code Playgroud)