gpt4 book ai didi

php - 有没有办法在使用 php explode 或其他类似功能时保留定界符?

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

例如,我有一篇文章应该按照句子边界拆分,例如“.”、“?”、“!” "和 ":"。

但众所周知,无论是preg_split还是explode函数,它们都去掉了分隔符。

任何帮助将不胜感激!

编辑:

我只能想出下面的代码,但效果很好。

$content=preg_replace('/([\.\?\!\:])/',"\\1[D]",$content);

谢谢!!!每个人。 5分钟搞定3个答案!我必须为在提问之前未能仔细阅读 PHP 手册而道歉。对不起。

最佳答案

我觉得这值得添加。您可以使用 regex lookahead 将分隔符保留在“after”字符串中拆分:

$input = "The address is http://stackoverflow.com/";
$parts = preg_split('@(?=http://)@', $input);
// $parts[1] is "http://stackoverflow.com/"

如果定界符是固定长度的,你可以通过lookbehind将定界符保留在“before”部分:

$input = "The address is http://stackoverflow.com/";
$parts = preg_split('@(?<=http://)@', $input);
// $parts[0] is "The address is http://"

在大多数情况下,此解决方案更简单、更清晰。

关于php - 有没有办法在使用 php explode 或其他类似功能时保留定界符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2938137/

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