下面的代码正在执行以下功能,我打算将其集成到更大的应用程序中。
- 用点 (.) 字符分割大输入字符串
input
,无论它出现在输入字符串中的什么地方。 - 将拆分的子字符串存储到数组中
result[]
; - 在 foreach 循环中,匹配一个子字符串以匹配 关键字的出现。
如果发生匹配,则从原始输入字符串中匹配的子字符串的位置开始,最多打印300 个字符。
string[] result = input.Split('.'); foreach (string str in result) { //Console.WriteLine(str); Match m = Regex.Match(str, keyword); if (m.Success) { int start = input.IndexOf(str); if ((input.Length - start) < 300) { Console.WriteLine(input.Substring(start, input.Length - start)); break; } else { Console.WriteLine(input.Substring(start, 300)); break; } }
输入实际上是大量的文本,我认为这应该通过正则表达式来完成。作为一个新手,我无法使用正则表达式将所有内容放在一起。
匹配关键字。Match m = Regex.Match(str, keyword);
从点 (.) 开始的 300 个字符,即从匹配的句子开始,打印 300 个字符"^.\w{0,300}"
我打算做的是:
在输入文本中搜索关键字。
就像找到匹配一样,从包含关键字的句子开始,从输入字符串中打印最多 300 个字符。
我应该如何进行?请帮忙 。