c# - 将 WebClient.DownloadString 的结果拆分为多行
问题描述
我正在尝试在 webclient.DownloadString("pastebinsite"); 中获取一行 foreach 行 但它说不能将类型'char'转换为'string',所以我添加了一个 string[] downloaded = wc.DownloadString(arac[0] + arac[1] + @"//" + arac[2] + "/raw/" + arac[3]);
这不起作用,因为它说无法将类型“字符串”转换为“字符串 []”我被卡住了,无法在线找到答案。
我试过改变类型
{
StringBuilder sb = new StringBuilder();
Console.WriteLine("start?");
Console.ReadKey();
string[] lines = File.ReadAllLines(Directory.GetCurrentDirectory() + @"\Lines.txt");
WebClient wc = new WebClient();
int _checked = 0;
int _error = 0;
foreach(string line in lines)
{
++_checked;
//Pastebin text viewer
try
{
if (line.Contains("pastebin"))
{
var arac = line.Split('/');
//ERROR LINE CANNOT CONVERT TYPE 'STRING' TO 'STRING[]' Below
string[] downloaded = wc.DownloadString(arac[0] + arac[1] + @"//" + arac[2] + "/raw/" + arac[3]);
foreach(string line2 in downloaded)
{
if (line2.Contains(":")
{
//Console.WriteLine(arac[0] + arac[1] + @"//" + arac[2] + "/raw/" + arac[3]);
Console.WriteLine(arac[0] + arac[1] + @"//" + arac[2] + "/raw/" + arac[3]);
sb.Append(downloaded);
}
}
}
else
{
//Console.WriteLine("Not valid pastebin link!");
}
Console.Title = "Checked : " + _checked;
}
catch(WebException ex)
{
++_error;
Console.WriteLine("Error: " + _error);
}
}
File.WriteAllText(Directory.GetCurrentDirectory() + @"\Output " + _checked + ".txt", sb.ToString());
Console.Clear();
Console.WriteLine("FINISHED");
Console.ReadKey();
}```
解决方案
wc.DownloadString(..) 返回一个字符串而不是字符串[]。
如果您需要 string[] 将包含行,则需要拆分字符串以获得 string[]
可能的解决方案:
var stringResult = wc.DownloadString(arac[0] + arac[1] + @"//" + arac[2] + "/raw/" + arac[3]);
然后是以下之一:
var lines = stringResult.Split(new [] { '\r', '\n' });
var lines = Regex.Split(stringResult, "\r\n|\r|\n");
var lines = stringResult.Split(new[] {"\r\n", "\r", "\n"}, StringSplitOptions.None)
最后
foreach(string line in lines) {...}
推荐阅读
- google-analytics-api - 字段“直接会话”即时接口 - 不在 Api 中?
- javascript - TypeError:无法设置未定义的属性“data_id”
- java - 更改最终对象的属性属性对象
- terraform - terraform:如何使资源具有幂等性-即,如果不存在则创建,但如果存在则不执行任何操作
- python - 多行三引号原始字符串正则表达式不起作用
- javascript - 如何在循环中使用正则表达式替换来更改文本
- c++ - 模板和显式特化
- kentico - Kentico 使用 API 将文件上传到页面类型的文件字段
- google-assistant-sdk - actions-on-google/smart-home-nodejs “家庭控制”在哪里
- javascript - Javascript重用promise来管理多个调用