gpt4 book ai didi

c# - 使用正则表达式查找文件中的日期字符串

转载 作者:行者123 更新时间:2023-12-02 21:08:27 24 4
gpt4 key购买 nike

我需要在文本文件中查找特定的日期字符串。文件中当前有两个日期字符串 - “截止日期:01/26/2016”和“日期:01/252016”。我需要找到第二个,但我当前的代码只找到第一个。我猜正则表达式会是一个更好的实现,但不确定如何编码。

当前代码 -

searchString = "Date:";
if (fileContents.IndexOf(searchString) > 0)
{
string tmp = fileContents.Substring(fileContents.IndexOf(searchString) + searchString.Length).Trim();
string loan_date = tmp.Substring(0, tmp.IndexOf('\r')).Trim();
if (loan_date.Count(x => x == '/') == 1)
{
StringBuilder sb = new StringBuilder(loan_date);
sb[sb.Length - 4] = '/';
loan_date = sb.ToString();
}
DateTime dt = DateTime.ParseExact(loan_date, "M/d/yyyy", System.Globalization.CultureInfo.InvariantCulture);
return dt;
}

最佳答案

在 C# 中,您可以通过执行如下操作来查找与正则表达式的匹配项。

using System;
using System.Text.RegularExpressions;

public class Example
{
public static void Main()
{
string pattern = "[0-1]?[0-9]/[0-9]{2}/[0-9]{4}";
string input = "Due Date: 01/26/2016 Date: 01/25/2016";

foreach (var m in Regex.Matches(input, pattern)) {
Console.WriteLine("'{0}' found at index {1}.",
m.Value, m.Index);
}
}
}

该正则表达式具体表示 0 或 1(可选)后跟一个数字,后跟斜杠,后跟两个数字,后跟斜杠,再后跟四位数字。

我还假设您的第二个日期 01/252016 包含拼写错误。

关于c# - 使用正则表达式查找文件中的日期字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34863448/

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