我在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个单词之间时才应添加下划线。
答案 0 :(得分:1)
如果您只想匹配字母数字字词之间的空格,请搜索> <
并将所有内容替换为_
。
在VS正则表达式中(直到2010版),>
表示“单词末尾的位置”,<
表示“单词开头的位置”。
在VS 2012及更高版本中,该正则表达式可以写为\b \b
。
答案 1 :(得分:1)
在VS 2010中,要替换字母数字字符之间的空格,您可以使用
查找内容 {:a} {:a}
替换为 \1_\2
确保选中Use Regular expressions
。
全部替换