比较PHP中字符串集之间的fornats

时间:2017-10-05 11:27:53

标签: php

说我有两个字符串

$string1 = 'foo bar 1,5,6 things';
$string2 = 'example 5,2,3 potato';

我试图在php中找到一种方法来比较两个字符串的格式并将它们分成一个数组,所以例如结果将是

$string1 = array('foo bar', '1,5,6', 'things');
$string2 = array('example', '5,2,3', 'potato');

有没有办法在PHP中执行此操作?

1 个答案:

答案 0 :(得分:0)

根据您的示例输入并假设逗号分隔的数字列表可以被视为"分隔符",您可以使用PREG_SPLIT_DELIM_CAPTURE$split = preg_split('/\s+([\d,]+)\s+/', $string, -1, PREG_SPLIT_DELIM_CAPTURE); 分开; e.g:

<?php

$strings = [
  'foo bar 1,5,6 things',
  'example 5,2,3 potato',
];

$stringsSplit = array_map(function (string $string) {
  return preg_split('/\s+([\d,]+)\s+/', $string, -1, PREG_SPLIT_DELIM_CAPTURE);
}, $strings);

print_r($stringsSplit);

示例实施:

Array
(
    [0] => Array
        (
            [0] => foo bar
            [1] => 1,5,6
            [2] => things
        )

    [1] => Array
        (
            [0] => example
            [1] => 5,2,3
            [2] => potato
        )

)

这会产生:

event.point.category

希望这会有所帮助:)