如何在第一个分隔符是第一个空格,第二个是php中的单词的地方拆分字符串?

时间:2018-08-31 07:52:21

标签: php explode

如何用两个不同的定界符在两个不同的位置拆分字符串,第一个是空格,而空格只能是它的第一个出现?。

第一次拆分是在第一个单词之后,
第二个拆分是基于特殊词的。

$string = 'BMW 220 2.0i 184Hk/270Nm TUNE Stage R 262Hk/425Nm';

我用两个词尝试了preg_split()

list($first,$middle,$last) = preg_split('/( ORG | TUNE )/',$string);

这种方法意味着我必须在第一次拆分后提供一个特殊的词。
因此,如何使用空白作为第一个定界符,并且仅在它的第一个出现时才能使它起作用。然后将其拆分为定义的单词?

虽然我确实提出了此解决方案,但是不确定这是否是最佳方法吗?

list($first,$string)=explode(' ', $string, 2);
list($middle,$last) = explode(' TUNE ',$string);

$first = BMW
$middle => 220 2.0i 184Hk/270Nm
$last => Stage R 262Hk/425Nm

1 个答案:

答案 0 :(得分:2)

不一定要是 ,是吗?

preg_match('/^(\S+)\s+(.+)WORLD(.+)/', $string, $matches);

$matches[1]现在是第一个空格之前的所有内容,$matches[2]是该空格和“世界”之间的所有内容,$matches[3]之后的所有内容。