字符串拆分ASP.NET/C#
我正在处理CSV文件 说 我正在运行LINQ以拆分CSV字符串拆分ASP.NET/C#,c#,asp.net,linq,C#,Asp.net,Linq,我正在处理CSV文件 说 我正在运行LINQ以拆分CSV var path = Server.MapPath("~/App_Data/CSV.txt"); var _collectCSGData = from line in File.ReadAllLines(path) let parts = line.Split('|') select new { ID = parts[0],Assignment=pa
var path = Server.MapPath("~/App_Data/CSV.txt");
var _collectCSGData = from line in File.ReadAllLines(path)
let parts = line.Split('|')
select new { ID = parts[0],Assignment=parts[1]};
如何获取每行的最后一项
(即)
比如:
parts[parts.length -1]
我们应该做到这一点
var _collectCSGData = from line in File.ReadAllLines(path)
let parts = line.Split('|')
let assignment = parts[parts.length - 1]
select assignment;
这应该是可行的,如果你需要按摩数据,让
是你的朋友
更新:
由于零件可能为空,您可以:
let assignment = parts.length > 0 ? parts[parts.length - 1] : String.Empty
如果您知道这是第三部分,那么在匿名构造函数中添加以下内容如何:
var _collectCSGData = from line in File.ReadAllLines(path)
let parts = line.Split('|');
select new
{ID = parts[0], Assignment = parts[1], Data = parts[2]};
或者,如果它只是“最后一项,不管有多少项”
这看起来更像是管道分隔的文本,而不是CSV。@Stephen Cleary-如果它是由列分隔的,那么人们似乎只称它为CSV,而不考虑分隔符,因为它可以轻松导入Excel。+1-好的,这看起来是一个很好的答案。我从来没有使用过这个函数。@Steven Sudit-True,但您只需检查一下:parts.length>0?零件[零件长度-1]:“”
let assignment = parts.length > 0 ? parts[parts.length - 1] : String.Empty
var _collectCSGData = from line in File.ReadAllLines(path)
let parts = line.Split('|');
select new
{ID = parts[0], Assignment = parts[1], Data = parts[2]};
var _collectCSGData = from line in File.ReadAllLines(path)
let parts = line.Split('|');
select new
{ID = parts[0], Assignment = parts[1], Data = parts[part.length-1]};
from line in File.ReadAllLines(path)
select line.Split('|').LastOrDefault()