C# 遍历文本文件里的内容,然后从中抽出需要的字符串,各位大牛帮帮忙~

现在文本文件里有如下类似的代码注释,

/****************************************************************************/

/* 方法名1
retrun XXX
/****************************************************************************/

(第二种情况)
/****************************************************************************/
/* 方法名2()*/
/****************************************************************************/

(第三种情况)
/*-----------------------------------------------
「方法名3」
-----------------------------------------------*/

现在我想先遍历注释,然后把里面的 方法名给抽出来,放入另一个文本,像这样排列
方法名1
方法名2
方法名3
初学者,不好意思,各位大牛请给点提示,或者完整实现代码~ 小弟都谢了~

一行一行的读,并且寻找 /* 和 */ 字符串,以确定接下来的内容是否是注释,并用一个bool isComment;记录。
对于情况1和情况2,/* 位于行首并且之后有非 * - / 字符的,就是方法名,记录下来。
情况1中的return可以用string.startwith()直接忽略掉
情况3,是当isComment为true时,读到以中括号开头的,就查找 [ 和 ] 的位置,中间的就是方法名
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-20
可以找到规律的,每一行读取就行了,要用到字符串截取!String.substring()本回答被网友采纳
第2个回答  2012-07-20
??
第3个回答  2012-07-20
好像没有规则得到所需文字呀?追问

所以需要多种CASE 或者就直接遍历 其他的不管 看到汉字和字母的组合 就抽出~

追答

FileStream fs = new FileStream("文件位置", FileMode.OpenOrCreate);
StreamReader sr = new StreamReader(fs,Encoding.Default);
char[] cc = new char[10000];
while (!sr.EndOfStream) //读到结尾退出
{
string temp = sr.ReadLine();
if (temp.Contains("方法名"))
{
Response.Write(temp.Substring(temp.IndexOf("方法名"), temp.IndexOf("方法名") + 3));
}
}
fs.Close();
sr.Close();
还有错,自己改下

相似回答