gpt4 book ai didi

c# - 从字符串中获取日期

转载 作者:太空狗 更新时间:2023-10-29 20:48:30 24 4
gpt4 key购买 nike

假设我有以下字符串之一:

"Hello, I'm a String... This is a Stackoverflowquestion!! Here is a Date: 16.03.2013, 02:35 and yeah, plain text blah blah..-."

"This the other string! :) 22.11.2012. Its a Date you see"

"Here we have 2 Dates, 23.12.2012 and 14.07.2011"

从字符串(在 DateTime 中)获取这些日期的最佳和最快方法是什么?

(字符串中只有第一次出现的日期)

理想的返回:

String 1: 16.03.2013 (as a DateTime)
String 2: 22.11.2012 (" ")
String 3: 23.12.2012 (" ")

所以我会这样调用一个方法:

DateTime date1 = GetFirstDateFromString(string1);

最佳答案

这将提取、解析并打印输入文本中的所有日期:

var regex = new Regex(@"\b\d{2}\.\d{2}.\d{4}\b");
foreach(Match m in regex.Matches(inputText))
{
DateTime dt;
if (DateTime.TryParseExact(m.Value, "dd.MM.yyyy", null, DateTimeStyles.None, out dt))
Console.WriteLine(dt.ToString());
}

现在,如果你只想第一次约会,你可以这样做:

static DateTime? GetFirstDateFromString(string inputText)
{
var regex = new Regex(@"\b\d{2}\.\d{2}.\d{4}\b");
foreach(Match m in regex.Matches(inputText))
{
DateTime dt;
if (DateTime.TryParseExact(m.Value, "dd.MM.yyyy", null, DateTimeStyles.None, out dt))
return dt;
}
return null;
}

注意该方法返回一个可为空的DateTime,这样当字符串不包含日期时它可以返回null。

关于c# - 从字符串中获取日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16222693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com