我有以下字符串检索datetime对象:从某个字符串
"23/09/2015 08:00\r\n עד\r\n24/09/2015 08:00"
正如你可以看到,我们有两个日期。一个在第一个\r\n
之前,另一个在第二个\r\n
之后。
如何从C#中的此字符串检索DateTime
对象?我知道的唯一方法是使用Substring
,但它会在第一个\r\n
之后检索文本。
我有以下字符串检索datetime对象:从某个字符串
"23/09/2015 08:00\r\n עד\r\n24/09/2015 08:00"
正如你可以看到,我们有两个日期。一个在第一个\r\n
之前,另一个在第二个\r\n
之后。
如何从C#中的此字符串检索DateTime
对象?我知道的唯一方法是使用Substring
,但它会在第一个\r\n
之后检索文本。
我会用myString.Split("\r\n")
像这样:
string[] dates = myString.Split("\r\n");
foreach (var dateString in dates)
{
DateTime dateTime;
if (DateTime.TryParse(dateString, out dateTime))
{
//Use dateTime here
}
}
这可能有助于
var stringValue = "23/09/2015 08:00\r\n עד\r\n24/09/2015 08:00";
var splitted = stringValue.Split(new string[]{"\r\n"},StringSplitOptions.RemoveEmptyEntries);
var firstStringDate = splitted[0];
var secondStringDate = splitted[2];
而得到DateTime
:
var firstDate = DateTime.ParseExact(splitted[0], "dd/MM/yyyy HH:mm", DateTimeFormatInfo.InvariantInfo);
var secondDate = DateTime.ParseExact(splitted[2], "dd/MM/yyyy HH:mm", DateTimeFormatInfo.InvariantInfo);
[演示](https://dotnetfiddle.net/UkvgsQ)。 – aloisdg
@aloisdg谢谢 –
@HosseinNarimaniRad谢谢你的一个很好的答案。 –
Split
和TryParse
的string
S:
static IEnumerable<DateTime> extractDates(string inputString)
{
foreach (var item in inputString.Split(new string[] {"\r\n"}, StringSplitOptions.RemoveEmptyEntries))
{
DateTime dt;
if(DateTime.TryParseExact(item,
"dd/MM/yyyy HH:mm",
System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.None,
out dt))
yield return dt;
}
}
'string.IndexOf',然后'string.SubString',然后'DateTime.TryParse' – ken2k
可以使用此溶液的字符串分割方法 –