我正在编写一个将文本转换为 HTML 的软件,并且我还使用了正则表达式。我想知道如何识别正文中的段落? 我写了一段识别段落的代码,例如,在这篇文章中,它只是识别“我的”这个词。为了识别一个段落,我寻找前后有双空格的文本。
Hi
my name is radamal shera.
private void btnConvert_Click(object sender, EventArgs e)
{
string inputText = txtInput.Text;
string pattern = @"(\r\n)([a-zA-Z]+)";
Match result = Regex.Match(txtInput.Text, pattern);
if (result.Success)
{
Debug.WriteLine("match : {0}", result.Value);
}
}
最佳答案
由于您计划在 2 个或更多换行符之间获取子字符串,您可以将 Regex.Split
与以下正则表达式一起使用:
(?:\r\n?|\n){2,}
详细信息:
(?:\r\n?|\n){2,}
- 出现 2 次或更多次 ({2,}
):\r\n?
- CR 和一个可选的 LF|
- 或者\n
- 换行符 (LF)
要删除第一行,您可以使用它并拆分其余部分:
var pars = Regex.Split(s, @"^.*[\r\n]*|(?:\r\n?|\n){2,}")
.Where(m => !string.IsNullOrEmpty(m))
.ToList();
关于c# - 如何通过正则表达式识别文本中的段落?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43053986/