使用linq截断文本

时间:2010-10-05 12:56:44

标签: c# linq

寻找一个简单的查询,使用Linq按x个字符截断文本。

3 个答案:

答案 0 :(得分:6)

你的问题不清楚。根据您对Justin's answer的评论,听起来更简单的方法来实现您所描述的内容如下:

string input = "The quick brown fox jumped over the lazy dog";
string result = new String(input.Take(15).ToArray());
Console.WriteLine(result);

请注意,由于字符串实现ToCharArray(),因此无需调用IEnumerable<char>。 VS2008中的IntelliSense没有显示,但扩展方法仍然有效。同样,您可以使用字符串构造函数并将其传递给字符数组,而不是使用Aggregate

答案 1 :(得分:2)

您可以使用SelectSubstring的非常简单的组合将字符串截断为特定长度:

var words = new List<string>();

// fill the list of words

var truncated = words.Select(w => w.Substring(0, 15));

答案 2 :(得分:1)

string raw = raw.ToCharArray().Take(maxLength).Select(x
=> x.ToString()).Aggregate((current,next)
=> current + next);

哪个过于复杂......