簡體   English   中英

如何將 Pascal Case with Numbers 轉換為句子?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM