现有一个需求:一个文本文件,我想查询每行的内容是否包括如“ABC”字符,并且当前行其后的内容为“123”,如果是看其下一行是否包括“abc”,如果包括则取此行后的第三行的内容,然后再从取的这行内容的下一行进行循环查询如果当前行包括“ABC”的内容,并且当前行其后的内容不为“123”则不进行下一行的比较,继续查找下一行关键字。如果当前行的内容包括“ABC”并且其后的内容也是“123”,则比较下一行内容是否包括“abc”,如果不是,则查找下一行,进行关键字比较。现困难的是:在当前行的情况下,如果取当前行的下一行内容,和当前行的第三行内容望高手指点简单的方法谢谢!
asdfa
adfaABC 123
abc
adfa
adf
111ABC adf
abc
adf
adf
222ABC 123
bcd
adfaf
asdfadf
333ABC 123
abc
adfa
adfa
444
结果如下:
111
444
CSDN-CSDN社区-.NET技术-C#
管理菜单 生成帖子 置顶 推荐 取消推荐 锁定 解锁 移动 编辑 删除 帖子加分 帖子高亮 取消高亮 结 帖 发 帖 回 复 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 请求好的处理方法!谢谢[问题点数:40分]
hlzyly
(孤星) 等 级:
结帖率:97.92% 楼主发表于:2010-06-28 16:50:42现有一个需求:一个文本文件,我想查询每行的内容是否包括如“ABC”字符,并且当前行其后的内容为“123”,如果是看其下一行是否包括“abc”,如果包括则取此行后的第三行的内容,然后再从取的这行内容的下一行进行循环查询如果当前行包括“ABC”的内容,并且当前行其后的内容不为“123”则不进行下一行的比较,继续查找下一行关键字。如果当前行的内容包括“ABC”并且其后的内容也是“123”,则比较下一行内容是否包括“abc”,如果不是,则查找下一行,进行关键字比较。现困难的是:在当前行的情况下,如果取当前行的下一行内容,和当前行的第三行内容望高手指点简单的方法谢谢!
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 回复次数:5
ledmhcc
(ledmhcc) 等 级: #1楼 得分:0回复于:2010-06-28 17:18:32递归循环
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:c#面试题:继承与构造函数的调用
dobear_0922
(do熊) 等 级:
#2楼 得分:0回复于:2010-06-28 17:20:38把你的文件内容贴上来,然后说一下你要什么结果,看描述看得头晕。
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:【oj每周推荐】谈谈.Net里的引用
hlzyly
(孤星) 等 级: #3楼 得分:0回复于:2010-06-28 17:26:39文本内容如下:
asdfa
adfaABC 123
abc
adfa
adf
111ABC adf
abc
adf
adf
222ABC 123
bcd
adfaf
asdfadf
333ABC 123
abc
adfa
adfa
444
结果如下:
111
444
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:如何获得WINFORM 里的pictureBox中的图片中的事件
hlzyly
(孤星) 等 级: #4楼 得分:0回复于:2010-06-29 12:35:36怎么没人回答呢?
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:VB和C#之间,你为什么选择了C#?
ghost281536992
(ghost281536992) 等 级: #5楼 得分:0回复于:2010-06-29 12:40:02拿你贴上来的那个文件档例子,把需求说详细点
对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 精华推荐:关于CAB/SCSF的技术问题讨论,请使用过的和感兴趣的朋友加入!:)
管理菜单 生成帖子 置顶 推荐 取消推荐 锁定 解锁 移动 编辑 删除 帖子加分 帖子高亮 取消高亮 结 帖 发 帖 回 复 相关问题
C#通讯编程(整理)|大家可以进来学习- .NET技术/ C# 求计算机专业的本科学士学位的教学课程计划,详细一点的我想自学谢谢 ... 高分求救咨询silverlight访问remoting的方法- 多媒体/设计/Flash ... [已处理]删除资源,谢谢- 社区支持/ 下载频道 TCP/IP 的socket服务器怎么处理高链接(1万个以上) 高并发的链接请求 ... 100分规划Linux服务器的问题,先谢谢各位- Linux/Unix社区/ 系统维护与 ...
公司简介|招贤纳士|广告服务|银行汇款帐号|联系方式|版权声明|法律顾问|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Email:[email protected]
Copyright © 1999-2010, CSDN.NET, All Rights Reserved
使用时 for(int i= 0 ;i < 文本行数 ; i++)
{
if(行[i]有 abc && 后面是 123)
{
if([i+1]<=文本行数)
{
return;
}
if(行[i+1]有 abc)
{
if(i+3 <= 文本行数)
{
return;
}
取行[i+3]的值;
i=i+3;
}
}
}
using (StreamReader reader = new StreamReader(stream, Encoding.Default))
{
string currRowStr = reader.ReadLine();
string nextRowStr = reader.ReadLine();
string nextNextRowStr = null;
while (!string.IsNullOrEmpty(currRowStr))
{
nextNextRowStr = reader.ReadLine(); //在这里,变量currRowStr为当前行的内容,变量nextRowStr为下一行的内容,
//变量nextNextRowStr代表下下行的内容。循环在遍历完文件所有行后自动退出。 currRowStr = nextRowStr;
nextRowStr = nextNextRowStr;
}
}在注释的地方写你自己的逻辑。