Dot-Net

.NET - 如何將“大寫”分隔的字元串拆分為數組?

  • September 30, 2008

我如何從這個字元串開始:“ThisIsMyCapsDelimitedString”

…到這個字元串:“這是我的大寫分隔字元串”

VB.net 中最少的程式碼行是首選,但也歡迎使用 C#。

乾杯!

我前一陣子做的。它匹配 CamelCase 名稱的每個組成部分。

/([A-Z]+(?=$|[A-Z][a-z])|[A-Z]?[a-z]+)/g

例如:

"SimpleHTTPServer" => ["Simple", "HTTP", "Server"]
"camelCase" => ["camel", "Case"]

要將其轉換為僅在單詞之間插入空格:

Regex.Replace(s, "([a-z](?=[A-Z])|[A-Z](?=[A-Z][a-z]))", "$1 ")

如果您需要處理數字:

/([A-Z]+(?=$|[A-Z][a-z]|[0-9])|[A-Z]?[a-z]+|[0-9]+)/g

Regex.Replace(s,"([a-z](?=[A-Z]|[0-9])|[A-Z](?=[A-Z][a-z]|[0-9])|[0-9](?=[^0-9]))","$1 ")

引用自:https://stackoverflow.com/questions/155303