C#如何格式化读线输出
目前,我已经在富文本框中读取了文本文件中的一行输出,但我想格式化该行C#如何格式化读线输出,c#,format,readline,C#,Format,Readline,目前,我已经在富文本框中读取了文本文件中的一行输出,但我想格式化该行 if (UsernameCheckers.Text != "Username") { string line; StringBuilder sb = new StringBuilder(); using (System.IO.StreamReader file = new System.IO.Strea
if (UsernameCheckers.Text != "Username")
{
string line;
StringBuilder sb = new StringBuilder();
using (System.IO.StreamReader file = new System.IO.StreamReader(@"\\studprint2\PCOUNTER\DATA\REJECT.LOG"))
{
while ((line = file.ReadLine()) != null)
{
if (line.IndexOf(UsernameCheckers.Text, StringComparison.OrdinalIgnoreCase) >= 0)
{
sb.AppendLine(line.ToString() + "\n");
}
}
}
DisplayBox.Text = sb.ToString();
}
例如
BCROSS11,Documentname.doc,\STUDPRINT2\computername,2010年5月15日,14:48,\1234566788,余额不足,,,/Ts=4beea62107502,10
我想让它说
Username: BCROSS11
File name: Documentname.doc
Error: Insufficient balance
Date: 15/05/2010,14:48
Computer name: \STUDPRINT2\computername
我该怎么办?如果您的字符串片段以相同的顺序保留在每行,您可以使用 方法并将其切片到所需的部分 下面是一个小型控制台应用程序,用于说明在您的案例中的用法:
static void Main(string[] args)
{
string test = @"BCROSS11,Documentname.doc,\STUDPRINT2\computername,15/05/2010,14:48,\1234566788,Insufficient balance,,,/Ts=4BEEA622,107502,10,,";
// Split the string and it will return an array of strings
string[] split_array = test.Split(',');
// Test output to the console
Console.WriteLine(String.Join("\n", split_array));
Console.WriteLine("END");
Console.ReadKey();
}
输出如下所示:
BCROSS11
Documentname.doc
\STUDPRINT2\computername
15/05/2010
14:48
\1234566788
Insufficient balance
/Ts=4BEEA622
107502
10
END
现在你可以数一数这些线,你就会知道在哪个位置你必须提取信息。不要忘记索引以0
开头,而不是以1
开头!
请注意,一个字符串:
“,”
将拆分为3个空字符串。这就是为什么输出中有空行。string.Split
。是否需要将文件读入一个字符串?文件的内容是什么样子的?您能将其解析为数组或结构以更好地格式化吗?看起来您拥有的是csv文件。您可以按照其他人的建议拆分字符串。或者,您可以使用任何开源库,如其当前的a.log文件(文本文件),该文件包含大量的BCROSS11、Documentname.doc、\STUDPRINT2\computername、15/05/2010、14:48、\1234566788、余额不足、、/Ts=4beea62107502、10等格式