2013-04-12 34 views
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個單詞之間時加上。

回答

1

在VS 2010中,以取代字母數字字符之間的空間,你可以使用

查找{:a} {:a}
替代哪些隨着\1_\2

確保Use Regular expressions被選中。

全部替換

+0

謝謝,這工作! –

1

如果您只想匹配字母數字單詞之間的空格,請搜索> <並全部替換爲_

在VS正則表達式中(2010版之前),>表示「在單詞末尾的位置」,<表示「在單詞開頭的位置」。

在VS 2012及更高版本中,該正則表達式可寫爲\b \b

+0

我從另一個文檔複製的話,那麼他們是不是真的格式化正確。這樣做有時也會在單詞的前面和後面增加下劃線。 –

+0

@ just8laze:然後你需要編輯你的問題來反映這一點。你的問題還沒有保證正則表達式。如果不知道所有的具體限制條件,建議使用正則表達式是不可能的。不要過分簡化你的問題,否則你會得到只適用於簡單情況的答案... –

相關問題