在文本框的一行中读取特定内容,然后放入Windowsform

时间:2018-09-10 11:39:04

标签: c# asp.net streamreader

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

我通过ListBox将行添加到StreamReader控件中,在该控件上方有一个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中。

1 个答案:

答案 0 :(得分:1)

我会使用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;
}