У меня проблема:string.Remove does not work
ive написал программу, которая использует поиск изображений Google, чтобы лишние ссылки на jpg-файлы. Но перед ссылкой у меня есть длинная строка длиной 15 символов, которую я не могу удалить.
public const int resolution = 1920;
public const int DEFAULTIMGCOUNT = 40;
public void getimages(string searchpatt)
{
string blub = "http://images.google.com/images?q=" + searchpatt + "&biw=" + resolution;
WebClient client = new WebClient();
string html = client.DownloadString(blub); //Downloading the gooogle page;
MatchCollection mc = Regex.Matches(html,
@"(https?:)?//?[^'<>]+?\.(jpg|jpeg|gif|png)");
int mccount = 0; // Keep track of imgurls
string[] results = new string[DEFAULTIMGCOUNT]; // String Array to place the Urls
foreach (Match m in mc) //put matches in string array
{
results[mccount] = m.Value;
mccount++;
}
string remove = "/imgres?imgurl=";
char[] removetochar = remove.ToCharArray();
foreach (string s in results)
{
if (s != null)
{
s.Remove(0, 15);
Console.WriteLine(s+"\n");
}
else { }
}
// Console.Write(html);
}
Я попробовал удалить и подгонять, но ни один из них не работает, и я не могу выяснить, что случилось.
Я решил это как
for (int i = 0; i < results.Count(); i++)
{
if (results[i] != null)
{
results[i] = results[i].Substring(15);
Console.Write(results[i]+"\n");
}
}
Поскольку вы знаете, что вы хотите сбросить 15 символов, которые можно использовать подстроку. –
Обратите внимание, что большая часть вашего кода фактически не имеет отношения к вашему вопросу - и у вас есть переменные, которые вы даже не используете. (Почему вы вообще вызываете 'ToCharArray'?) –
Я был не уверен, если мой отказ будет в MatchCollection –