2 回答
TA贡献1966条经验 获得超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();
}
}
}
这会产生您想要的输出,但不会处理:
多场比赛
匹配不同的案例
IndexOutOfRangeException
获得所需单词时的可能性
TA贡献1817条经验 获得超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 关注
- 97 浏览
添加回答
举报