Skip to main content
 首页 » 编程设计

c#之正则表达式删除尾随空格和多个空行

2024年01月31日25jackei

我希望在用 C# 编写的 Visual Studio 2013 扩展中使用正则表达式。

我试图从一行中删除尾随空格,同时保留空行。我还想删除多个空行。应保留现有的行尾(一般为回车换行符)。

所以下面的文字(空格显示为下划线):

hello_world__ 
 
 
___hello_world_ 
__ 
__ 
hello_world 

会变成:

hello_world 
 
___hello_world 
 
hello_world 

我尝试了多种不同的模式来删除尾随空格,但我最终要么不匹配尾随空格,要么丢失回车符。我还没有尝试删除多个空行。

这是我迄今为止尝试过的几种模式:

\s+$ 
 
(?<=\S)\s+$ 

请您参考如下方法:

感谢您到目前为止的回答。它们都不能完全满足我的需要,但它们帮助我找到了我需要的东西。我认为问题在于 VS2013 中的正则表达式有些奇怪(请参阅 Using Regular Expressions in Visual Studio )。这两个操作对我有用:

将 \+(?=(\n|\r?$)) 替换为空。

将 ^\r?$(\n|\r\n){2,} 替换为 \r\n。