我有一个字符串,我需要得到所有带有"一个"在它们中,并将它们存储在一个数组中。什么是最好,最快的方法?
$text = "I have one treehouse. I have one dog. I have two cats."
需要的结果
$array[0] = "I have one treehouse.";
$array[1] = "I have one dog.";
PS:我的示例代码字符串有点简短,但我需要使用的字符串类型在10-100页之间,那么实现此目的的最快和最好的方法是什么? / p>
答案 0 :(得分:1)
你应该可以用正则表达式来做这件事。像这样:
/[\w\s]+?\bone\s?[\w\s]*?\./g
在PHP中,使用preg_match_all
:
$text = "i have one treehouse. i have one dog. I have two cats.";
$matches = preg_match_all('/[\w\s]+?\bone\s?[\w\s]*?\./', $text, $array);
注意:您可能需要trim()
每个匹配项,不确定我是否可以修复正则表达式来处理此问题。