难题:StreamReader是不是可以做到行合并?

csdner 2007-04-09 12:29:44

文本文件的内容如下:
BEGIN
User: Zhao
BEGIN
User: 1) Qian
User: 2) Sun
BEGIN
...

也就是说每段用BEGIN分割,我想把它转换成如下格式:

BEGIN
User: Zhao
BEGIN
User: Qian,Sun
BEGIN
...


也就是说把每段的USER都合并成一行!

不知道StreamReader怎样做到这种效果?

谢谢!

...全文
194 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdner 2007-04-09
  • 打赏
  • 举报
回复
谢谢老兄!给分了!
王集鹄 2007-04-09
  • 打赏
  • 举报
回复
private void button1_Click(object sender, EventArgs e)
{
StreamReader vStreamReader = new StreamReader(
@"C:\temp\temp.txt", Encoding.Default);
string vText = string.Empty;
string vLine;
string vTemp = string.Empty;
while ((vLine = vStreamReader.ReadLine()) != null)
{
if (vLine.IndexOf("User: ") == 0)
{
int i = vLine.IndexOf(")");
if (i < 0) i = 6; else i += 2;
vTemp += "," + vLine.Substring(i);
}
else
{
if (vTemp != string.Empty)
{

vText += "User: " + vTemp.Substring(1) + "\r\n";
vTemp = string.Empty;
}
vText += vLine + "\r\n";
}
}
if (vTemp != string.Empty)
{
vText += "User: " + vTemp.Substring(1) + "\r\n";
vTemp = string.Empty;
}
vStreamReader.Close();

StreamWriter vStreamWriter = new StreamWriter(
@"C:\temp\temp~.txt", false, Encoding.Default);
vStreamWriter.Write(vText);
vStreamWriter.Close();
}
csdner 2007-04-09
  • 打赏
  • 举报
回复
up

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧