Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从Excel中修剪字符串_C#_.net_String_Excel - Fatal编程技术网

C# 从Excel中修剪字符串

C# 从Excel中修剪字符串,c#,.net,string,excel,C#,.net,String,Excel,我从Excel中得到一个字符串:“\”2011年11月1日16:00\” 在C语言中,最有效的方法是什么来修剪它,以便将其解析为日期时间?始终使用这种格式?你能不能先把前3个和最后3个字符串成子串,然后用一种特定的(提供的)日期格式解析成一个日期?总是用那种格式?你能不能先将前3个字符和最后3个字符串成子字符串,然后用特定的(提供的)日期格式解析为一个日期?你可能只需要修剪字符串,但不确定该格式是否一致 string myString = "\"11/01/2011 16:00\""; Date

我从Excel中得到一个字符串:
“\”2011年11月1日16:00\”


在C语言中,最有效的方法是什么来修剪它,以便将其解析为日期时间?

始终使用这种格式?你能不能先把前3个和最后3个字符串成子串,然后用一种特定的(提供的)日期格式解析成一个日期?

总是用那种格式?你能不能先将前3个字符和最后3个字符串成子字符串,然后用特定的(提供的)日期格式解析为一个日期?

你可能只需要修剪字符串,但不确定该格式是否一致

string myString = "\"11/01/2011 16:00\"";
DateTime time = DateTime.Parse(myString.Substring(1, myString.Length - 2));
var trimmedString = excelString.Trim('\\', '"');
假设字符串包含斜杠和语音标记。如果只是语音标记(因为VisualStudio在显示字符串时转义了该字符串),那么您只需要

var trimmedString = excelString.Trim('"');

您可能只是修剪字符串,但不确定该格式是否一致

var trimmedString = excelString.Trim('\\', '"');
假设字符串包含斜杠和语音标记。如果只是语音标记(因为VisualStudio在显示字符串时转义了该字符串),那么您只需要

var trimmedString = excelString.Trim('"');

您根本不需要修剪它-您只需调用
DateTime.ParseExact
DateTime.TryParseExact
,它包含两端的引号:

string text = ...;
DateTime date = DateTime.ParseExact(text, "'\"'dd/MM/yyyy HH:mm'\"'",
                                    CultureInfo.InvariantCulture);

我不知道这是否比修剪(有更多的解析,但没有额外的字符串创建)更有效,但我会使用它的精度:如果数据形式发生变化(例如,不再有引号),你会发现,因为你在陈述你的期望,有效。

您根本不需要修剪它-您只需调用
DateTime.ParseExact
DateTime.TryParseExact
,它包含两端的引号:

string text = ...;
DateTime date = DateTime.ParseExact(text, "'\"'dd/MM/yyyy HH:mm'\"'",
                                    CultureInfo.InvariantCulture);
我不知道这是否比修剪(有更多的解析,但没有额外的字符串创建)更有效,但我会使用它的精度:如果数据形式发生变化(例如,不再有引号),您会发现,因为您正在有效地陈述您的期望。

您正在寻找该方法

你在寻找方法


有时可能没有时间戳。在这种情况下,ken2k的解决方案应该总是有效的(我认为)。我正要建议使用DateTime.ParseExact来避免文化问题,但现在我不会了!或者您可能需要先检查时间戳的长度。有时可能没有时间戳。在这种情况下,ken2k的解决方案应该总是有效的(我认为)。我正要建议使用DateTime.ParseExact来避免文化问题,但现在我不会了!或者你可能需要先检查时间戳的长度。完整免责声明,我更喜欢JS的答案。完整免责声明,我更喜欢JS的答案。