首页 > 解决方案 > 如何在保留 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

标签: javaregexstring

解决方案


使用此正则表达式:([^\.]+)(\.|$)*?
您可以阅读有关组匹配器的信息并在此处查看完整匹配项:https ://regex101.com/r/yV9GES/5

编辑:更新了评论中的答案链接。


推荐阅读