0

我想将一个集合沿着逗号分成几部分,除非它包含并行结构。

例如,给定这些句子(http://owl.english.purdue.edu/owl/resource/623/01/):

玛丽喜欢远足、游泳和骑自行车。

玛丽喜欢远足、游泳和骑自行车。

我只会沿着第一个逗号分割这些,所以我会得到:

sentence_array ( "Mary likes to hike", "swim, and ride a bicycle")

也许使用前瞻性的正则表达式,检查至少 2-3 个未被逗号包围的空格?

4

3 回答 3

2

也许这样的事情可以工作:

<?php

$str = "Mary likes to hike, to swim, and to ride a bicycle, also, something more at the end.";
var_dump($str);

$str = preg_replace('/((\s\w*){3,},)/', '\1*', $str);
$str = explode('*', $str);

var_dump($str);
?>

它必须像使用比单纯的更独特的东西一样工作*

于 2011-10-07T17:42:05.290 回答
0

我很难理解你真正想要的是什么?explode(',', 'Mary 喜欢远足、游泳和骑自行车', 2) 会起作用吗?因此那里的 2 (限制)还是你想通过 ', ' 爆炸?

于 2011-10-07T16:58:40.433 回答
0

采用explode(separator,string,limit)

或者

split ( string $pattern , string $string [, int $limit = -1 ] )

于 2011-10-07T17:00:00.433 回答