所以我有一个完整的字符串(大约 10k 个字符),然后在该字符串中搜索一个单词(或多个单词)。和regex(word).Matches(scrappedstring)
.
但如何提取包含该单词的整个句子。我正在考虑在搜索的单词后面取一个子字符串,直到第一个点/感叹号/问号/等。但是如何取出搜索词之前的句子部分呢?
或者也许有更好的逻辑?
如果你的边界是例如.
, !
, ?
and ;
, 匹配所有句子[^.!?;]*(wordmatch)[^.!?;]*
表达。
它将给出所有带有所需的句子词匹配 inside.
Example:
var s = "First sentence. Second with wordmatch ? Third one; The last wordmatch, EOM!";
var r = new Regex("[^.!?;]*(wordmatch)[^.!?;]*");
var m = r.Matches(s);
var result = Enumerable.Range(0, m.Count).Select(index => m[index].Value).ToList();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)