我希望在用 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。
