php - 如果下一个字符是空格或大写字母字符,PHP 按点分解字符串
问题描述
我有一段看起来像这样:
Lorem Ipsum 只是(不是1.2%)印刷和排版行业的虚拟文本。自 1500 年代以来, L orem Ipsum 一直是行业的标准虚拟文本,当时一位不知名的印刷商采用了一种类型的厨房并将其加扰以制作一本类型标本册。它不仅经历了五个世纪,而且经历了电子排版的飞跃,基本上保持不变。它在1960年代普及
我想在短语中将其拆分为以点.
结尾的短语,但前提是该点位于短语的末尾,而不是在中间(如1.2%
)并且在UPPERCASE
它后面有一个字符(也可能是空格)。例如,如果我使用:
$arr = explode('.', $paragraph);
它将在每次出现时拆分该段落.
。
有没有一种快速而干净的方法来获得它?如果是的话,有人可以帮我理解吗?
解决方案
使用正则表达式匹配大写字符或空格之前的点,并用于preg_split()
根据正则表达式匹配拆分字符串。
$arr = preg_split("/\.\s?(?=[A-Z])/", $paragraph);
在演示中检查结果
推荐阅读
- javascript - NodeJS: Adding items to a collection with one unique and one duplicate value
- javascript - 在 Excel Javascript API 中创建嵌入式 Web 浏览器或 iframe
- c# - 使用asp.net提交时选择标签发送空值
- ms-access - Detecting broken linked Excel Tables
- unity3d - Photon、PlayFab 和 Unity3D - 玩家在加入 Photon Room 后不会互相出现
- sql - Using VBA Combobox value in SQL Query returning type mismatch
- c# - Combine 2 integers and store it in a ulong
- r - 将具有共同值的行放入列表中
- docker - Is there any difference between CMD ["./start.sh"] and CMD ./start.sh in docker file?
- mysql - MySQL Round() 函数用于存储在字符串中的十进制