视觉工作室发现&用正则表达式替换,用下划线替换空格

时间:2013-04-12 08:10:21

标签: regex visual-studio-2010 replace

我在c#中有一个很大的文本列表,希望用作枚举列表。 例如:

Zone Status Message
Zones Snapshot Message
Partition Status Message
Partitions Snapshot Message
Supported transition message flags
System Status Message
X-10 Message Received
Log Event Message
Keypad Message Received

现在我想在visual studio中使用find和replace对话框在所有单词中添加下划线而不是空格, 例如

Zone_Status_Message
Zones_Snapshot_Message

如何使用正则表达式或通配符实现此目的? 这真的会为我节省很多时间。

提前致谢。

编辑:
单词也可以有空格和前后,由于格式不良的源文档,我从中获取文本。因此,仅当空格在2个单词之间时才应添加下划线。

2 个答案:

答案 0 :(得分:1)

如果您只想匹配字母数字字词之间的空格,请搜索> <并将所有内容替换为_

在VS正则表达式中(直到2010版),>表示“单词末尾的位置”,<表示“单词开头的位置”。

在VS 2012及更高版本中,该正则表达式可以写为\b \b

答案 1 :(得分:1)

在VS 2010中,要替换字母数字字符之间的空格,您可以使用

查找内容 {:a} {:a}
替换为 \1_\2

确保选中Use Regular expressions

全部替换