新聞記事から要約を抽出する必要があります。概要は、指定されたキーワードに基づいて、以下に示すルールに従って抽出されます。
要約は 200 文字にする必要があります。
その文章にキーワードが現れるとすぐに記事のその文章から印刷を開始し、200 文字まで印刷します
一致する文が記事の終わりに向かって発生し、要約が 200 文字未満になる場合は、一致する文から前の文に向かって移動し、最後に一致する文を含む 200 文字が最終的に出力されます。
私が今までしてきたことは...
var regex = new Regex(keyword+@"(.{0,200})");
foreach (Match match in regex.Matches(input))
{
var result = match.Groups[1].Value;
Console.WriteLine(result);
// work with the result
}
上記のコードは、一致する最初の文に正常に到達しますが、一致する文の先頭ではなく、最大 200 文字のキーワードの後から印刷を開始します。
また、200 文字が印刷される前に記事の終わりに達した場合、バックトラックはありません。
どうすればよいか教えてください。誰かが完全な解決策を知らなくても、質問のサブパートで私を助けてください.