大致如下:
//读取章节
public void LoadChapter(string file)
{
try
{
this.listBox1.Items.Clear();
if (File.Exists(file))
{
FileStream fs = new FileStream(file, FileMode.Open);
using (StreamReader sr = new StreamReader(fs, System.Text.Encoding.Default))
{
string strLine = sr.ReadLine(); //读取文件中的一行
while (strLine != null)
{
string[] patArr = { "第(.*?)章", "第(.*?)回", "第(.*?)集", "第(.*?)卷", "第(.*?)部", "第(.*?)篇", "第(.*?)节", "第(.*?)季" };
foreach (var pattern in patArr)
{
Regex reg = new Regex(pattern);
if (reg.IsMatch(strLine))
{
if (strLine.Length < 20)//超过20个字的标题,可能是小说里面出现的“书中书、文中文”...
{
this.listBox1.Items.Add(strLine.Trim().Replace("\r\n", "").Replace("\r", "").Replace("\n", ""));//添加标题行
}
continue;
}
}
strLine = sr.ReadLine();
//Thread.Sleep(1);
}
}
}
}
catch { }
}