【发布时间】:2019-05-13 12:40:34
【问题描述】:
我有一段看起来像这样:
Lorem Ipsum 只是(不是1.2%)印刷排版的虚拟文本 工业y。 Lorem Ipsum 一直是业界标准的虚拟文本 自 1500 年代以来,当一位不知名的印刷商采用了一种类型的厨房和 将其加扰以制作类型标本 book。我不仅活了下来 五个世纪,也是电子排版的飞跃, 基本上保持不变。 It 在 1960 年代普及
我想在短语中将其拆分为以点 . 结尾的短语,但前提是该点位于短语的末尾,而不是在中间(如 1.2%)并且有 UPPERCASE它后面的字符(也可能是一个空格)。例如,如果我使用:
$arr = explode('.', $paragraph);
它会在每次出现 . 时拆分该段落。
有没有一种快速而干净的方法来获得它?如果是,有人可以帮我理解吗?
【问题讨论】:
-
不应该只是
$arr = explode('. ', $paragraph);工作吗? (在点后添加一个空格)。但是,它可能会导致语法错误的文本,因为一个段落可以由多个句子组成。自动正确执行可能需要某种 AI 或广泛的规则引擎。 -
我赞同
explode(". ", $paragraph);的想法。这是迄今为止最简单的。由于目标是从段落中提取句子,无论“停止/句号”如何,这是实现目标的最简单最快的方法。正则表达式可能更高效,运行速度更快(可能在很长的段落上很明显),但就“高尔夫代码”而言,这个胜出