2 回答

TA貢獻(xiàn)1966條經(jīng)驗 獲得超4個贊
怎么樣:1)將其拆分為單詞 2)找到您的索引3)從找到索引之前keyword開始獲取一系列單詞5
using System;
using System.Linq;
namespace Foo
{
class Program
{
static void Main(string[] args)
{
var sentence = "For several years I’ve had a little “utility” function that I’ve used in several projects that I use to convert property names into strings. One use case is for instance when mapping code to some data source or third party API that where the names are used as keys. The method uses “static reflection”, or rather it parses the expression tree from a lambda expression, to figure out the name of a property that the lambda expression returns the value of.Look, good against remotes is one thing, good against the living, that’s something else.";
var keyword = "instance";
var words = sentence.Split(' ').ToArray(); // split into words
int index = Array.FindIndex(words, w => w.Equals(keyword)); // find the index within
// take 11 words from 5 before the index of your keyword
var r = Enumerable
.Range(index - 5, 11)
.Select(i => words[i]);
var result = string.Join(' ', r);
Console.WriteLine("Output:- {0} ", result);
Console.ReadKey();
}
}
}
這會產(chǎn)生您想要的輸出,但不會處理:
多場比賽
匹配不同的案例
IndexOutOfRangeException
獲得所需單詞時的可能性

TA貢獻(xiàn)1817條經(jīng)驗 獲得超6個贊
using System.Linq;
using System.Text.RegularExpressions;
using System;
public class Program
{
public static void Main()
{
var sentence = "case is for instance doooo mapping code to some data source or third party API that where the names are used as keys. The method uses “static reflection”, or rather it parses the expression tree from a lambda expression, to figure out the name of a property that the lambda expression returns the value of.Look, good against remotes is one thing, good against the living, that’s something else.For several years I’ve had a little “utility” function that I’ve used in several projects that I use to convert property names into strings. One use case is for instance when mapping code to some data source or third party API that where the names are used as keys. The method uses “static reflection”, or rather it parses the expression tree from a lambda expression, to figure out the name of a property that the lambda expression returns the value of.Look, good against remotes is one thing, good against the living, that’s something else.";
var keyword = "instance";
int wordFreq = 2;
var words = sentence.Split(' ').ToArray(); // split into words
int foundndex = Array.FindIndex(words, w => w.Equals(keyword)); // find the index within
// take wordFreq words from wordFreq before the index of your keyword
var wordsArray = Enumerable
.Range((foundndex - wordFreq) > 0 ? (foundndex - wordFreq) : 0, (wordFreq*2+1 > (words.Length)-1) ? (words.Length)-1 : wordFreq*2+1 )
.Select(i => words[i]).ToArray();
var outPut = string.Join(" ", wordsArray);
Console.WriteLine("Output:- {0} ",outPut);
}
}
希望我處理了所有可能的異常!
- 2 回答
- 0 關(guān)注
- 162 瀏覽
添加回答
舉報