[英]How to convert Pascal Case with Numbers to a sentence?
我正在嘗試將帶有數字的 Pascal Case 字符串轉換為句子:
OpenHouse2StartTimestamp = > Open House 2 Start Timestamp
由於這個答案,我已經能夠使用正則表達式將它們分開而不用數字,但是當數字存在時如何做到這一點讓我望而卻步:
string sentence = Regex.Replace(label, "[a-z][A-Z]", m => m.Value[0] + " " + m.Value[1]);
如何將數字添加到組合中?
您可以使用
var sentence = Regex.Replace(label, @"(?<=[a-z])(?=[A-Z])|(?<=\d)(?=\D)|(?<=\D)(?=\d)", " ");
請參閱.NET 正則表達式演示。 正則表達式匹配:
(?<=[az])(?=[AZ])|
- 小寫和大寫 ASCII 字母之間的位置,或(?<=\d)(?=\D)|
- 數字和非數字之間的位置,或(?<=\D)(?=\d)
- 非數字和數字之間的位置。由於您只需要在匹配的位置插入一個空格,因此您不需要 Match 評估器,只需使用字符串替換模式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.