我需要用小寫字母代替在變量名大寫字母,並添加空間如何使用正則表達式替換小寫的大寫?
例如:
NotImplementedException
應該Not implemented exception
UnhandledException
應該Unhandled exception
我需要用小寫字母代替在變量名大寫字母,並添加空間如何使用正則表達式替換小寫的大寫?
例如:
NotImplementedException
應該Not implemented exception
UnhandledException
應該Unhandled exception
既然你沒有指定語言,我將在C#中給出一個例子。我相信你的語言會提供類似的東西。
String s = "NotImplementedException";
s = Regex.Replace(s, @"\B[A-Z]", m => " " + m.ToString().ToLower());
// s = "Not implemented exception"
A這個答案的更好的C#版本可以支持任何大寫字母(即使是重音字母):'String s =「NotImplementedException」; s = Reg ex.Replace(s,@「\ B \ p {Lu}」,m =>「」+ m.ToString()。ToLower());' – 2014-11-03 11:00:42
@Ignacio,我不同意。當然,這不是一個可以用簡單的正則表達式在一個語句中完成的事情。但sed命令:
sed -e 's/\([a-zA-Z]\)C/\1 c/g' infile.txt
將替換「C」「C」的所有出現在「C」立即被一個字母開頭。所有OP都要做26個變種,這可能很乏味。並且獲得案例改變的條件可能也很困難,但使用正則表達式進行全局搜索和替換的情況總是如此。
這是一個嚴肅的答案,還是你只是與Ignacio爭論? – 2015-03-23 17:44:26
它可以與單個命令的sed來完成:
$ echo "NotImplementedException" | sed 's/\B[A-Z]/ \l&/g'
Not implemented exception
但支持\l
(和\u
,\L
,\U
和\E
)是在不同的語言正則表達式實現中罕見。我只能確定Perl已經實現了。
用什麼編程語言?大多數情況下,單獨的正則表達式不會允許你這樣做,你需要運行一些代碼 – 2010-07-13 08:34:36
語言是C#但我需要正則表達式:( – aron 2010-07-13 08:41:11
是否有一個特殊原因需要使用正則表達式?大多數時候人們會問這樣的問題,他們正在假設他們需要的答案 – 2010-07-13 09:11:28