-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