gpt4 book ai didi

c# - 使用 ASP.net C# 读取文本文件和操作数据

转载 作者:太空宇宙 更新时间:2023-11-03 21:04:50 24 4
gpt4 key购买 nike

我需要的是测试按日期分组的每一行并计算其中找到的特定模式的数量。在这个例子中找到并计算“D;”每个日期

示例

enter image description here

My expected output to be displayed into textbox

01 - 3

02 - 0

3 - 4

现在,我开始的只是读取文本文件,只显示文本文件中的行数。

 protected void btnRead_Click(object sender, EventArgs e)
{
string text = String.Empty;
int i = 0;
using (StreamReader stRead = new StreamReader(FileUpload1.PostedFile.InputStream))
{

//to write textfile content
while (!stRead.EndOfStream)
{
//ListBox1.Items.Add(stRead.ReadLine());

text += stRead.ReadLine() + Environment.NewLine;


i++;
}
}

TextBox1.Text = text;
//Label1.Text = i.ToString();
Label1.Text = this.TextBox1.Text.Split(new Char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries).Length.ToString();
//populateListBox();


}

只是一个关于如何开始的简单想法将是一个很大的帮助。谢谢

最佳答案

你可以使用正则表达式

string test = "D; sjhjsd  D; sdsdjks D;";
MatchCollection collection = Regex.Matches(test, @"[D;]+");
var x= collection.Count;

结果:3

此编辑展示了如何实现上面的 Regex 来计算每个读取的行

protected void btnRead_Click(object sender, EventArgs e)
{
string text = String.Empty;
int i = 0;
int countedChars;
using (StreamReader stRead = new StreamReader(FileUpload1.PostedFile.InputStream))
{

//to write textfile content
while (!stRead.EndOfStream)
{
var readedLine = stRead.ReadLine()
//ListBox1.Items.Add(readedLine );

if (!string.IsNullOrWhiteSpace(readedLine))
{
MatchCollection collection = Regex.Matches(readedLine, @"D;");
countedChars = collection.Count;
text += readedLine.Substring(0, readedLine.IndexOf(' ')) +" - "+countedChars + Environment.NewLine;
}

i++;
}
}

TextBox1.Text = text;
//Label1.Text = i.ToString();
Label1.Text = this.TextBox1.Text.Split(new Char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries).Length.ToString();
//populateListBox();


}

关于c# - 使用 ASP.net C# 读取文本文件和操作数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41891983/

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