gpt4 book ai didi

php - 如何在 preg_split() 的结果中包含拆分分隔符?

转载 作者:IT王子 更新时间:2023-10-28 23:55:40 26 4
gpt4 key购买 nike

我有一个将文本分成句点的简单模式:

$text = preg_split("/[\.:!\?]+/", $text);

但我想包括 。 :! 在数组项的末尾。

也就是说,现在是“good:news.everyone!”我有:

array("good", "news", "everyone", "");

但是我想要:

array("good:", "news.", "everyone!", "");

最佳答案

给你:

preg_split('/([^.:!?]+[.:!?]+)/', 'good:news.everyone!', -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);

工作原理:该模式实际上将所有内容都变成了分隔符。然后,要在数组中包含这些分隔符,您可以使用 PREG_SPLIT_DELIM_CAPTURE 常量。这将返回一个数组,如:

array (
0 => '',
1 => 'good:',
2 => '',
3 => 'news.',
4 => '',
5 => 'everyone!',
6 => '',
);

要去除空值,请使用 PREG_SPLIT_NO_EMPTY。要组合两个或多个这些常量,我们使用按位 | 运算符。结果:

array (
0 => 'good:',
1 => 'news.',
2 => 'everyone!'
);

关于php - 如何在 preg_split() 的结果中包含拆分分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11758465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com