基本上我需要按单词数对文件进行排序,所以如果文件包含以下文本,则需要:
我需要对它进行分类:
所以按一行上的单词数排序。
答案 0 :(得分:3)
如果单词用空格分隔:
var sortedLines = File.ReadLines(path).OrderByDescending(line => line.Split().Length);
如果您不想计算连续或前导/尾随空格:
var sortedLines = File.ReadLines(path)
.OrderByDescending(line => line.Trim().Split(new char[]{},StringSplitOptions.RemoveEmptyEntries).Length);
使用Split()
或Split(new char[],...)
将按white-space characters拆分,其中包括换行符,空格符或制表符。
如果您想要添加其他内容,则必须手动构建char[]
或string[]
。
答案 1 :(得分:0)
string[] lines = File.ReadAllLines(@"E:\1.txt");
var sotedLines = lines.OrderByDescending(line => line.Split().Length)
.ToList();
答案 2 :(得分:0)
static void Main(String[] args) {
var lines = File.ReadAllLines(args[0]);
lines.OrderByDescending(s => s.Split().Count());
File.WriteAllLines(args[0], lines);
}