Quickest/Best 格式化字符串的方法

Quickest/Best way to Format a string

我知道这似乎是一个初级问题,通过谷歌搜索应该很容易找到解决方案,但我被卡住了。

我正在使用 C#。

我有这个字符串:

20150824100112345(举例)

我希望将其转换为新的字符串,如下所示:

2015[=31=]5

有没有我可以用来完成此操作的“1 行”代码?

注意 没有第一次将其转换为日期时间格式

如评论中所述,您真的应该将其解析为 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

或者在正则表达式中:

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})", 
                 @"$2$3$4$5$6$7");