簡體   English   中英

格式化字符串的最快/最佳方法

[英]Quickest/Best way to Format a string

我知道這看起來似乎是一個初級問題,通過谷歌搜索它應該很容易找到解決方案,但我被卡住了。

我正在使用C#。

我有這個字符串:

20150824100112345(例如)

我希望將它轉換為一個新的字符串,如下所示:

2015 \\ 08 \\ 24 \\ 10 \\ 00 \\ 01 \\ 12 \\ 345

我可以使用“1-liner”代碼來實現這一目標嗎?

NB沒有第一次將其轉換為日期時間格式

如評論中所述,您應該將其解析為DateTime,然后將其轉換為字符串。

但是要按照你的要求解析一個字符串,你應該使用一個可以將它分成組的正則表達式。

如果您不想先解析DateTime(即如果您不關心有效性)並且輸入始終被格式化為您的示例(零填充,那么08而不是8 ),您可以使用一些簡單的Substring()調用:

string input = "20150824100112345";
string output = input.Substring(0, 4) + @"\" // 2015
              + input.Substring(4, 2) + @"\" // 08
              + input.Substring(6, 2) + @"\" // 24
              + input.Substring(8, 2) + @"\" // 10
              + input.Substring(10, 2) + @"\" // 01
              + input.Substring(12, 2) + @"\" // 12
              + input.Substring(14, 3); // 345

或者在Regex中:

string input = "20150824100112345";
string output = Regex.Replace(input, 
                  "([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{3})", 
                 @"$1\$2\$3\$4\$5\$6\$7");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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