c# - 比较文本文件 C# 中的两个字符串值
问题描述
我需要帮助来比较文本文件中按行拆分的两个字符串值,并计入该比较字符串。我已经尝试了一些代码,但没有得到它。只需要一个值来比较。如何传递第二个值。
所以包含方法返回布尔值我如何计算比较值。
像这样的文本文件:
172.16.50.70,[17/Aug/2017:08:36:36,GET /login2.php HTTP/1.0,200,1575,-,"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, 像 Gecko)铬/60.0.3112.90 Safari/537.36" 172.16.50.70,[17/Aug/2017:08:36:37,GET /objections/login.php HTTP/1.0,200,1988,-,"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like壁虎)Chrome/60.0.3112.90 Safari/537.36" 39.51.52.189,[17/Aug/2017:08:36:37,GET /objections/css/style.css HTTP/1.1,200,6198,googleusercontent.com/search?q=cache:aiou.edu.pk/ objections/ssearch.php,"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.39 Safari/537.36"
代码
string Files = System.IO.File.ReadAllText(@"C:\info.txt");
string[] SplitByLine = Files.Split('\n');
foreach (var item in SplitByLine)
{
string[] OneRowSplit = item.Split(',');
GetIP = OneRowSplit[0];
LapInfo = OneRowSplit.Last();
string Filess = System.IO.File.ReadAllText(@"C:\info.txt");
string[] SplitByLines = Filess.Split('\n');
string ads = SplitByLines.Contains(GetIP & LapIngo).count(); // this line of code is not valid its only for telling i want some thing like this contain method take only one parameter and i also want to count comapred values
}
解决方案
创建一个不同的 IP 和浏览器组合列表只是 LINQ 魔术的几行:
string[] lines = File.ReadAllLines("somefile.txt");
IEnumerable<string> fingerPrints = lines.Select(c => $"{c.Split(",").First()}
{c.Split(",").Last()}").Distinct();
您现在有一个可枚举的字符串,其中每个条目都是唯一/不同的。您可以将它们写入另一个文件,或使用它们来更新原始文件。
推荐阅读
- python - 使用高斯概率加权从选择中选择一个随机数
- azure - kafka srimzi 使用我自己的 Kubernetes 证书
- javascript - React-Router-Dom v5 - Switch 不适用于路由组件的映射数组
- firebase - 我想在 firestore 数据库中从创建日期开始添加 14 天/30 天
- expo - 您的帐户无权访问 Expo Application Services (EAS) 功能
- authentication - 将请求从一个 servlet 转发到另一个是否使其通过定义的阀门?
- react-native - React Native 中的条件渲染问题
- spring - 使用 Spring Boot RSocket 的聊天应用程序
- apache-nifi - 将现有的 Nifi 进程组放入新的进程组
- java - 如何在 RESTEasy 中使用 GET 处理尚未上传的文件?