在文本框的一行中读取特定的内容并放入 windowsform 中

Read a specific thing in a line of a textbox and put in in a windowsform

我有一个包含几行文本的文本文件。在每一行中有三个必要的信息:用户名、日期和时间。

我通过 StreamReader 将行添加到 ListBox 控件,并且在该控件上方有一个 TextBox 控件。我想把用户名放在 TextBox 中,但我不知道怎么做。

代码如下:

namespace Zeiterfassung
{
    public partial class Uebersicht : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string sPath = @"C:\VSTO\Projects\Zeiterfassung\Zeiterfassung\obj\Debug\Kommt.txt";

            using (StreamReader sr = new StreamReader(sPath))
            {
                while(!sr.EndOfStream)
                {
                    lb_Kommt.Items.Add(sr.ReadLine());
                }
            }
        }
    }
}

而 txt 文件中的行都与此类似:

User: KIV\vischer, Datum: 10.09.2018, Zeit: 10:49

我需要将 "KIV\Vischer" 放在 TestBox 中,而不是 ListBox

我会使用 RegEx。

它可能看起来像这样:

User: (?<user>[^,]*?), Datum: (?<datum>[\d]{1,2}\.[\d]{1,2}\.[\d]{2,4}), Zeit: (?<zeit>[\d]{1,2}:[\d]{2})

您可以在此处找到更多详细信息(和现场演示):

https://regex101.com/r/1YaMxz/2

访问值:

var matches = Regex.Matches(input, pattern, RegexOptions.IgnoreCase);

foreach (Match match in matches)
{
    username = match.Groups["user"].Value;
}