繁体   English   中英

如何根据文本文件的开头按数字顺序排列文本文件?

[英]How can i put a text file in numerical order based on what it starts with?

这是文本文件的示例...

7</DOdds>Some Text Here
4.5</DOdds>Some Text Here 
11</DOdds>Some Text Here
8.5</DOdds>Some Text Here

...我试图得到这样的输出文件...

4.5</DOdds>Some Text Here
7</DOdds>Some Text Here
8.5</DOdds>Some Text Here
11</DOdds>Some Text Here

继承人我的代码...

                foreach (var line in File.ReadLines(myfile))
                {
                    string[] lines = File.ReadAllLines(line);
                    var result = lines.AsParallel().OrderBy(s => s.Split('<').First()).ToList();
                    File.WriteAllLines(line, lines);
                

有人可以指出我正确的方向吗?

拆分字符串后,您应该将第一个元素转换为double

var lines = File.ReadAllLines(myfile);
var result = lines.AsParallel().OrderBy(s => Convert.ToDouble(s.Split('<').First())).ToList();
File.WriteAllLines(myfile, result);

输出

4.5</DOdds>Some Text Here 
7</DOdds>Some Text Here
8.5</DOdds>Some Text Here
11</DOdds>Some Text Here

我还没有测试过,但假设您可以将其添加到您的代码中:

Convert.ToDouble()

IE。

var result = lines.AsParallel().OrderBy(s => Convert.ToDouble(s.Split('<').First())).ToList();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM