C# 从字符串中拆分2个日期的问题
我试着从一张表格中得到的字符串中提取两个日期。字符串看起来有点像这样: 2013年3月18日至2013年3月23日 我已尝试拆分这些值,但在“-”上拆分时遇到问题 以下是我目前的代码: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
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谢谢,修复。