Nic*_*ick 2 c# regex web-applications .net-3.5 downloadstring
我正在开发一个从页面上的文本文件中获取文本的应用程序. 示例链接: http ://test.com/textfile.txt
该文本文件包含以下文本:
1 Milk Stuff1.rar
2 Milk Stuff2.rar
3 Milk Stuff2-1.rar
4 Union Stuff3.rar
Run Code Online (Sandbox Code Playgroud)
我想要做的是如下,删除每一行的所有内容,除了以'Stuff'开头并以'.rar'结尾的"单词".
问题是,大多数简单的解决方案,比如使用.Remove,.Split或.Replace都会失败.这是因为,例如,使用空格格式化字符串最终返回:
1
Milk
Stuff1.rar\n2
Milk
Stuff2.rar\n3
Milk
Stuff2-1.rar\n4
Union
Stuff3.rar\n
Run Code Online (Sandbox Code Playgroud)
我敢打赌,它并不像看起来那么难,但我会帮助你给予我任何帮助.
Ps:为了清楚起见,这就是我希望它返回的内容:
Stuff1.rar
Stuff2.rar
Stuff2-1.rar
Stuff3.rar
Run Code Online (Sandbox Code Playgroud)
我目前正在使用此代码:
client.HeadOnly = true;
string uri = "http://test.com/textfile.txt";
byte[] body = client.DownloadData(uri);
string type = client.ResponseHeaders["content-type"];
client.HeadOnly = false;
if (type.StartsWith(@"text/"))
{
string[] text = client.DownloadString(uri);
foreach (string word in text)
{
if (word.StartsWith("Patch") && word.EndsWith(".rar"))
{
listBox1.Items.Add(word.ToString());
}
}
}
Run Code Online (Sandbox Code Playgroud)
这显然不起作用,但你明白了.
先感谢您!
这应该工作:
using (var writer = File.CreateText("output.txt"))
{
foreach (string line in File.ReadAllLines("input.txt"))
{
var match = Regex.Match(line, "Stuff.*?\\.rar");
if (match.Success)
writer.WriteLine(match.Value);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
235 次 |
| 最近记录: |