我一直在試圖讓一個C#正則表達式命令將像C#字符串 - 斯普利特Pascal大小寫
EYDLessThan5Days
到
EYD Less Than 5 Days
任何想法?
的代碼我使用:
public static string SplitPascalCase(this string value) {
Regex NameExpression = new Regex("([A-Z]+(?=$|[A-Z][a-z])|[A-Z]?[a-z0-9]+)",
RegexOptions.Compiled);
return NameExpression.Replace(value, " $1").Trim();
}
日期:
EYD Less Than5 Days
但仍然給我錯誤的結果。
其實我已經在javascript代碼中詢問過這個問題,但是當我用c#代碼實現相同的邏輯時,它失敗了。
請幫幫我。謝謝。
我想他加入他們不想分開5. – 2014-10-04 05:30:24
我不完全確定你要求什麼 - 你在http://stackoverflow.com/questi給出了非常詳細的答案ons/26188882/split-pascal-case-in-javascript-certain-case,而不是直接將其轉換爲C#,您可以隨意組合部分,現在尋找某種幫助。我建議你進行直接轉換,並要求「如何合併下面的正則表達式」(如果你自己做不到)。還要考慮保持樣本代碼的質量與該答案中的代碼質量相當 - 沒有評論的正則表達式大多不可讀。 – 2014-10-04 05:44:02
就像刪除對[0-9]的任何引用並將其置於單獨的替換中一樣簡單。查看@AmitJoki regex'([AZ] +(?= $ | [AZ] [az])| [AZ]?[az] + | [0-9] +)' – sln 2014-10-04 05:58:35