从键盘读取的文本中的c#段分隔符

时间:2013-01-06 18:30:55

标签: c# text analysis delimiter paragraph

如何让用户在输入或回车之前输入更多段落?

知道在每个段落之后,应该按Enter键以标记他已完成该段落。

我必须算上这段话。如果从文件中读取文本,也许这样就可以了(我仍然不确定我正在寻找的用于计算段落的分隔符)。

但是当您从键盘上读取用户的文本输入时,我如何计算段落 - 不知道。

假设用户启动并输入一些语句然后点击进入...程序完成... 1段就是这样。

如何让用户输入2个或更多段落并计算?

我可能更喜欢简单的“初学者”方法而不是正则表达式...我可以计算句子而不是以任何方式从键盘输入段落...可能想要成为一个循环或者某些东西以允许用户输入更多然后一个段落,而不是用户完成段落输入后的行为?点击进入...所以混乱,混乱,混乱..

2 个答案:

答案 0 :(得分:0)

这个怎么样:

List<string> lines = new List<string>();
string line = Console.ReadLine();
while(!string.IsNullOrEmpty(line))
{
    lines.Add(line);
    line = Console.ReadLine();
}

然后lines将包含用户输入的所有段落,并且可以通过按Enter键来指示其输入的结束而不输入任何内容。

编辑:如果您只需要计算用户输入的段数(不存储它们),那么这将有效:

int paragraphsEntered = 0;
string line = Console.ReadLine();
while(!string.IsNullOrEmpty(line))
{
    paragraphsEntered++
    line = Console.ReadLine();
}
Console.WriteLine("You entered {0} paragraph(s).", paragraphsEntered);

答案 1 :(得分:0)

如果您使用的是WinForms,则可以使用TextBox并将Multiline设置为true。请查看TextBox Class文档,了解如何操作,或使用RichTextBox Class

为了计算段落,您可以使用以下代码:

var paragraphs = myTextBoxControl.Text.Split('\n').Count;