我有一个代码可以接收两种类型的字符串:
文字编号文字
danny levitt 48 new york
文字编号[逗号]文字
danny levitt 48, new york
两种尺寸的文字都可以是单个字或更多,而且语言可能不是英文。
我需要这些字符串在数组中返回给我,如下所示:
Array (
0 => "danny levitt",
1 => "48",
2 => "new york"
)
我该怎么做?
感谢。
答案 0 :(得分:0)
根据前面存在的空格将输入分割为数字和相同数字后面的空格。 \K
会丢弃之前匹配的字符。
$string = "danny levitt 48, new york";
$regex = '~\s+(?=\b\d+,?)|\b\d+\K,?\s+~';
$splits = preg_split($regex, $string);
print_r($splits);
输出:
Array
(
[0] => danny levitt
[1] => 48
[2] => new york
)