C# 如何在字符串值中间添加空格?

C# 如何在字符串值中间添加空格?,c#,string,.net-micro-framework,C#,String,.net Micro Framework,我正在尝试创建JSON格式的字符串。但是,其中一个字段(来自我的编辑/删除所有空格)现在会留下一行,如“START”:“13/08/1410:30:00”。但是,我想在日期和时间之间添加一个空格?我曾尝试使用ToCharArray()方法分割字符串,但不知如何在字符串的日期和时间部分之间添加空格 例如,我试图获取:“开始”:“13/08/14 10:30:00”,但我得到的是 "START":"13/08/1410:30:00" 请注意。空格要求之前的字符串长度始终为17个字符。我将VS201

我正在尝试创建JSON格式的字符串。但是,其中一个字段(来自我的编辑/删除所有空格)现在会留下一行,如
“START”:“13/08/1410:30:00”
。但是,我想在日期和时间之间添加一个空格?我曾尝试使用ToCharArray()方法分割字符串,但不知如何在字符串的日期和时间部分之间添加空格

例如,我试图获取:
“开始”:“13/08/14 10:30:00”
,但我得到的是

"START":"13/08/1410:30:00"

请注意。空格要求之前的字符串长度始终为17个字符。我将VS2010用于NETMF(Fez Panda II)

在.Net中,字符串是不可变的:您永远无法更改它们。但是,您可以轻松地创建一个新字符串

var date_time = dateString + " " + timeString;

显然,你必须把数字分类,但这是总的想法

String.Format("{0} {1}", dateString.Substring(0, 17), dateString.Substring(17, dateString.Length - 17);
或者您可以使用
StringBuilder
类:

var finalString = new StringBuilder();
for (var i = 0; i < dateString.Length; i++){
    if (i == 17)
        finalString.Add(" ");
    else
        finalString.Add(dateString.ToCharArray()[i]);
}
return finalString.ToString();
var finalString=new StringBuilder();
for(var i=0;i
如果日期时间格式始终相同,则可以使用该方法


如果拆分位置始终为17,则只需:

string t = s.Substring(0, 17) + " " + s.Substring(17);

这会从
10:30
中删除
1
编辑它,我是在脑子里做的。:)非常可爱;我修正了字符串文字,但是:非常好的方法如果你有一个
@
,那么你肯定不需要将引号加倍?@No1\u Melman是的,你仍然需要加倍引号;使用逐字字符串文字,
=>
是唯一需要的转义;它取代了
=>
\”
和其他多种斜杠转义。坏消息是:我认为NETMF没有
字符串。插入
方法()-但这仍然是一个很好的答案,对于非NETMF读者,我可以看到这是如何工作的。我想问一下,如果价值发生变化,您是否可以建议如何应对(p.s.很抱歉跟进问题)?@这取决于新模式的规则。正则表达式是通用模式匹配/替换工具的第一个想法。您可以使用
string。Insert
,这可能是地球上最很少使用的string方法。它很少使用,以至于Marc Gravell不知道它的存在。我尝试过(虽然不是字符串生成器部分)@No1_Melman方法背后的一般思想(其中,在生成字符串时(大量编辑/删除大量空格/添加到JSON格式/从serialport读取数据等)但它似乎“跳过”了这个。-调试器中没有错误,它只是现在拒绝打印这个JSON!但这可能是一个硬件问题tbh
string t = s.Substring(0, 17) + " " + s.Substring(17);