c# - 循环通过设置列号(3)但长度可变的文本文档
问题描述
嗨,我想知道循环这个 txt 文档并将行提取为单独数组中的分隔值的最佳方法是什么
ItemType1 ItemType2 ItemType3\n
1.0000009 KKKiiiNNG ItemTypeC\n
1.7777777 SNJLJXSSS ItemTypeC\n
2.0000000 MMNNXXGGG ItemTypeC\n
...can have more or less line
希望这是有道理的...谢谢
解决方案
您可以尝试使用File.ReadLines
读取每一行单词并使用string.Split函数将行单词拆分为空格。该文档显示null
在空白字符上传递拆分:
如果 separator 参数为 null 或不包含字符,则假定空白字符为分隔符。空白字符由 Unicode 标准定义,如果将它们传递给Char.IsWhiteSpace方法,则返回 true。
由于ReadLines
将每行的单词返回到字符串数组。
[0] = 1.0000009 KKKiiiNNG ItemTypeC
[1] = 7777777 SNJLJXSSS ItemTypeC
....
下一步我们可以使用 lambdaselect
来获取结果而不是 for 循环
选择集合并转换集合中的元素。可以重载以获取元素索引,选择并向下舍入数组中的每个数字。
var result = File.ReadLines("your file path")
.Select(x=>x.Split(null))
.Select(z=> new {
ItemType1 = z[0],
ItemType2 = z[1],
ItemType3 = z[2]
});
推荐阅读
- flutter - 如何将当前日期放在文本小部件中?
- java - 单个应用程序的多个 swagger 实例
- python - 焦点似乎无法始终如一地工作
- arrays - 如何在 VBA 中绘制数组?
- python - 字符串比较L:'TITLE' == 'TITLE' 返回 False,但 'TITLE' 中的 'TITLE' 返回 True
- reactjs - 加载资源失败:服务器响应状态为 400
- node.js - Cron - 每年 1 月 1 日 00:00 或 12:00 am 运行一次
- xgboost - XGBRegressor 损失函数自定义
- mysql - 如何使用 SYSBENCH 测试 MySQL NDB 集群(NDB 存储引擎)的性能?
- arrays - 为什么我的反转数组功能不起作用?