【发布时间】:2015-07-29 15:40:28
【问题描述】:
我希望在用 C# 编写的 Visual Studio 2013 扩展中使用正则表达式。
我正在尝试从一行中删除尾随空格,同时保留空行。我还想删除多个空行。应保留现有的行尾(通常是回车换行)。
所以下面的文字(空格显示为下划线):
hello_world__
___hello_world_
__
__
hello_world
会变成:
hello_world
___hello_world
hello_world
我尝试了多种不同的模式来删除尾随空格,但我最终要么不匹配尾随空格,要么丢失了回车符。我还没有尝试删除多个空行。
以下是我目前尝试过的几种模式:
\s+$
(?<=\S)\s+$
【问题讨论】:
-
严格使用是否需要使用RegEx?有更好的方法来删除字符串末端的符号:TrimEnd 和 TrimStart。对于您的情况: str.TrimEnd(new char[] { '_' })
-
我并不严格需要使用正则表达式,但我认为它适合我想做的事情。也许我应该详细说明,但我将其应用于活动文档。我正在使用 C#。这不必在单个操作中完成;多次操作就好了。
-
单次操作会更难做到这一点。但是,它们是 2 个不同的操作,您也不需要 1 个来执行另一个操作。
-
正则表达式明显比
TrimEnd慢。
标签: c# .net regex visual-studio-2013