java - 如何在保留 Java 中的所有空格的同时将字符串拆分为句子?
问题描述
我尝试了以下正则表达式:
sentences = sb.toString().split("(?<=[a-z])*\\.\\s*");
我正在使用 stringBuilder sb 并将其转换为字符串,然后使用拆分函数
正则表达式在“。”之前检查 0 个或多个字符。'.' 后面有 0 个或多个空格。
但是,它不适用于以下输入
Hello World. Shipped to U.S on Friday.We are here .Good input
But I need to keep the space before we are here
请求输出
Hello World
Shipped to U.S on Friday
We are here
Good input
解决方案
使用此正则表达式:([^\.]+)(\.|$)*?
您可以阅读有关组匹配器的信息并在此处查看完整匹配项:https ://regex101.com/r/yV9GES/5
编辑:更新了评论中的答案链接。
推荐阅读
- typescript - “{}”类型的参数不可分配给“配置”类型的参数
'。本阿瓦德教程 - django - 有没有办法在没有 oauth2 的情况下验证 google play 购买?
- c# - C# 对具有给定值的文本框进行排序/排序
- c# - 将打印重定向到类似(重复)打印机
- jquery - 如何使一个元素的子元素与另一个元素的子元素的高度相同?
- javascript - 在反应类基础组件中设置 setTimeOut
- strapi - 我已经定制了 Strapi 控制器,但出现错误
- java - Jenkins 在自己的文件夹中为多模块项目寻找依赖项目包文件
- django - 将表单添加到表单集的子元素
- javascript - 上传图像时出现“无法识别的内容编码类型”错误