c# - 正则表达式需要识别句子之间没有空格的地方

标签 c# regex

我需要一个正则表达式来识别句子开始时前一个句点后没有空格的所有情况。

例如,这是一个错误的句子:

I'm sentence one.This is sentence two.

这需要修复如下:

I'm sentence one. This is sentence two.

这不仅仅是对“.”进行字符串替换的情况。和 '。 ' 因为在很多情况下,段落中的其余句子都有正确的间距,这会给那些额外的空间。

最佳答案

\.(?!\s) 将匹配后面没有空格的点。不过,您可能还需要感叹号和问号:[\.\!\?](?!\s)

编辑: 如果 C# 支持,试试这个:[\.\!\?](?!\s|$)。它不会匹配字符串末尾的标点符号。

关于c# - 正则表达式需要识别句子之间没有空格的地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4410143/

相关文章:

regex - Perl 中的字符替换

c# - .NET Maui 自定义处理程序将参数从 xaml 代码传递到处理程序代码?

c# - 如何使用正则表达式从字符串中获取 ID

c# - 带有 c# 后端的 Angular 2 Http 获取变量不起作用

java - 需要正则表达式来格式化 php 中的文件

javascript - 如何修改正则表达式以正确验证域?

c# - 从另一个进程访问对象

c# - 使用 System.IO.SearchOption.AllDirectories 时出错

c# - ASP.NET 正则表达式验证器未按预期进行验证

python - Tornado URL 正则表达式 : presence of a specific word into a keyword argument