【发布时间】:2017-08-05 11:48:59
【问题描述】:
我从来没有做过这样的事情,所以我真的很好奇如何做到这一点。我想它可以通过正则表达式或在 c# 中以某种方式完成......
我有一个包含以下格式数据的文本文件:
12.23.45.56:8080:username:password
12.23.45.56:8080:username:password
12.23.45.56:8080:username:password
12.23.45.56:8080:username:password
我准备了一个如下所示的课程:
public class ParsedData
(
public string IP { get; set; }
public string Port { get; set; }
public string Username { get; set; }
public string Password { get; set; }
)
我想要的输出是我可以单独解析每一行,并且 1 行应该将数据存储在一个解析的对象(ParsedData 列表)中;
如何做到这一点,并单独解析每一行数据?
有人可以帮帮我吗?
var completedList = text.Split(':').Select(pr => new ParsedData
{
IP = pr.ElementAt(0).ToString() // this should be the IP But I'm getting the
// Index was outside the bounds of the array. exception in this part
/*My elements here*/
}).ToList();
【问题讨论】:
-
StreamReader、ReadLine、Split
-
@Rene 我想像这样使用拆分: text.Split(':').Select(pr => new ParsedData { /*My elements here*/}).ToList( );但接下来呢? XD
-
下一步是什么?取决于你。您的 Linq 查询是正确的流程。
-
我不会为你做研究。在您最喜欢的搜索引擎中输入关键字,大量示例应该是您的。如果你把一些不起作用的东西放在一起,请报告。
-
.Spit(':')将返回一个包含 4 个字符串的数组 - 将第一个分配给您的IP属性,第二个分配给Port等