1

我在 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 中的查找和替换对话框在所有单词中添加下划线而不是空格,例如

Zone_Status_Message
Zones_Snapshot_Message

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

提前致谢。

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

4

2 回答 2

1

如果您只想匹配字母数字单词之间的空格,请搜索> <并将全部替换为_.

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

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

于 2013-04-12T08:12:14.023 回答
1

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

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

确保Use Regular expressions选中。

全部替换

于 2013-04-12T08:37:40.263 回答