-2
我打算编写一个c#程序 来检查IP地址为 的测试文件,并将它们逐行添加到新测试文件 。C#从测试文件中提取IP地址
在c#中这样做的最好方法是什么? (操作系统我应该使用其他语言)
有人可以共享一个有效的代码片段。
正则表达式可以处理这个吗?并涵盖所有情况?
或根据具体情况处理不同的文件。
该文本文件可以是电子邮件,甚至IIS日志文件?
在此先感谢您的回复
我打算编写一个c#程序 来检查IP地址为 的测试文件,并将它们逐行添加到新测试文件 。C#从测试文件中提取IP地址
在c#中这样做的最好方法是什么? (操作系统我应该使用其他语言)
有人可以共享一个有效的代码片段。
正则表达式可以处理这个吗?并涵盖所有情况?
或根据具体情况处理不同的文件。
该文本文件可以是电子邮件,甚至IIS日志文件?
在此先感谢您的回复
您可以用许多不同的语言来做到这一点。在C#中的正则表达式可以正常工作。有很多方法可以做到,具体取决于许多因素,如输入文件的大小。一种简单的方法是读取源文件的所有行,使用正则表达式遍历每行以识别匹配,如果匹配,则将行写入目标文件。
这样的事情可能是一个起点。
public static string Foo()
{
// see http://stackoverflow.com/questions/4890789/regex-for-an-ip-address
Regex ip = new Regex(@"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b");
string[] inputLines = File.ReadAllLines("sourcefile.txt");
List<string> outputLines = new List<string>();
foreach (string line in inputLines)
{
MatchCollection result = ip.Matches(line);
if (result[0].Success) outputLines.Add(line);
}
if (outputLines.Count > 0)
{
File.AppendAllLines("destinationfile.txt", outputLines);
}
}
可能重复的[正则表达式匹配DNS主机名或IP地址?](http://stackoverflow.com/questions/106179/regular-expression-to-match-dns-hostname-or-ip-地址) –
对不起,让我检查它是否有帮助 – abmv