我知道这看起来似乎是一个初级问题,通过谷歌搜索它应该很容易找到解决方案,但我被卡住了。
我正在使用C#。
我有这个字符串:
20150824100112345(例如)
我希望将它转换为新的字符串,如下所示:
2015 \ 08 \ 24 \ 10 \ 00 \ 01 \ 12 \ 345
是否有' 1-liner'我可以用来完成这个的代码吗?
NB 没有第一次将其转换为日期时间格式
答案 0 :(得分:4)
如评论中所述,您应该将其解析为DateTime,然后将其转换为字符串。
但要按照你的要求解析一个字符串,你应该使用一个可以将它分成组的正则表达式。
答案 1 :(得分:3)
如果您不想先解析DateTime(即如果您不关心有效性),并且输入始终被格式化为您的示例(零填充,那么08
而不是{{ 1}}),您可以使用一些简单的8
调用:
Substring()
或者在Regex中:
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