急急!!!C# 如何实现 判断一片文章的段落数,和句子数?

具体的讲:就是在一篇文章中,怎么用一个小程序实现判断出来段落数目和句子数目,返回一个数组,可以显示出来每一段都有几个句子,且在每一个段落前后加上<p></p>,句子前后加上<s></s>?
如有帮助,必将再加上30分
你说的这个都明白了,不明白的就是怎么来划分一个段落中的句子。
我用了string[] sentences = str.Split(new char[] { '.', '?', '。', '!', '…' });但是有个问题就是,它所划分的是整篇文章的句子,我只想要一段段的句子,怎么来处理?
在我的foreach (string sentenced in duanluo)里面循环的时候,我希望在一段结束的就跳出sentences(现在这个都是整个文章的句子数目),这样可以返回一段文字的句子数,现在问题就是怎么样跳出来这个循环

using (StreamReader sr = new StreamReader(@"E:\TestArtile.txt",Encoding.UTF8))
{
string artileContent = sr.ReadToEnd();
sr.Close();
Perfect.Base.Report.Reporter.Info(artileContent);
artileContent = Regex.Replace(artileContent, "(\r|\n|\r\n)+", "\r\n");
MatchCollection paragraphs = Regex.Matches(artileContent, @"[\s\S]+?(\r\n|$)+");
//到这已经取得了文章段落
//paragraphs[0]为第一段
//paragraphs[1]为第二段
//..下面的代码只是为了测试分段是否正确而写的
StringBuilder result = new StringBuilder();
for (int i = 0, j = paragraphs.Count; i < j; i++)
{
result.Append("第" + (i + 1) + "段内容:" + paragraphs[i]);
result.Append("\r\n\r\n\r\n");
}
FileInfo fi = new FileInfo(@"E:\TestArtileResult.txt");
using (FileStream fs = fi.OpenWrite())
{
StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);
sw.Write(result.ToString());
sw.Flush();
sw.Close();
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-07-22
你的问题是似乎不知道怎么把一篇文章的每个段落分出来。
对于规范文档的话,段的最大特征是每段的开头都要缩进两个字。你可以根据这个特征把一篇文章分成若干个段落,然后再对这些段落处理。
相似回答