Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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# 从字符串中拆分2个日期的问题_C#_.net_Razor_Split_String Split - Fatal编程技术网

C# 从字符串中拆分2个日期的问题

C# 从字符串中拆分2个日期的问题,c#,.net,razor,split,string-split,C#,.net,Razor,Split,String Split,我试着从一张表格中得到的字符串中提取两个日期。字符串看起来有点像这样: 2013年3月18日至2013年3月23日 我已尝试拆分这些值,但在“-”上拆分时遇到问题 以下是我目前的代码: string daterange = Request.Form["daterange"]; string [] arr = daterange.Split(new Char[] {' '}); string bookedfrom = arr[0]; string bookedto

我试着从一张表格中得到的字符串中提取两个日期。字符串看起来有点像这样:

2013年3月18日至2013年3月23日

我已尝试拆分这些值,但在“-”上拆分时遇到问题

以下是我目前的代码:

    string daterange = Request.Form["daterange"];
    string [] arr = daterange.Split(new Char[] {' '});
    string bookedfrom = arr[0];
    string bookedto = arr[1];
但是,这给了我以下两个值:

值1=2013年3月18日 值2=-

如果您有任何建议,我们将不胜感激。

有一个函数可以采用字符串数组而不是字符数组,但它需要第二个参数。试一试

string [] arr = daterange.Split(new string[] {" - "},StringSplitOptions.None);
取而代之。

有一个接受字符串数组而不是字符数组的,但它需要第二个参数。试一试

string [] arr = daterange.Split(new string[] {" - "},StringSplitOptions.None);
相反。

作为替代方案(因为您只有两个片段),您可以使用
子字符串而不是
拆分

  String daterange = Request.Form["daterange"];

  String bookedfrom = daterange.Substring(0, daterange.IndexOf(" - "));
  String bookedto = daterange.Substring(daterange.IndexOf(" - ") + " - ".Length);
作为替代方案(因为您只有两个片段),您可以使用
子字符串
而不是
拆分

  String daterange = Request.Form["daterange"];

  String bookedfrom = daterange.Substring(0, daterange.IndexOf(" - "));
  String bookedto = daterange.Substring(daterange.IndexOf(" - ") + " - ".Length);

您的代码是按空格分割的,而不是按连字符分割的。请检查数组长度,您应该有3项。1是第一个日期,2是-,3是另一个日期。
string bookedfrom=arr.first();字符串bookedto=arr.Last()感谢fantastik78,如果我使用string bookedto=arr[2],它确实有效;您的代码是按空格分割的,而不是按连字符分割的。请检查数组长度,您应该有3项。1是第一个日期,2是-,3是另一个日期。
string bookedfrom=arr.first();字符串bookedto=arr.Last()感谢fantastik78,如果我使用string bookedto=arr[2],它确实有效@reggaeguitar谢谢,修复。@reggaeguitar谢谢,修复。