Я хочу получить информацию о ценах с веб-сайта. Чтобы сделать это, я использую регулярное выражение, чтобы найти все случаи, где находится первый «$». Оттуда я использую подстроку, чтобы получить следующие 7 символов, которые будут, например, $ 42945. Я удаляю весь текст перед «$» и повторяю процесс несколько раз для разных значений суммы в $, расположенных на веб-сайте, который я использую через цикл For
.
У меня проблема в том, что после того, как я обрезал строку, чтобы затем перейти к следующему $, исходная строка воссоздается.
Вот код, который я использую:
WebClient client = new WebClient();
string allcontent = client.DownloadString("example.com");
string body = allcontent.Substring(140480,200000);
Regex rx = new Regex("[$]");
var numberCount = rx.Matches(body).Count;
string price = String.Empty;
string price2 = String.Empty;
int match = Int32.MaxValue;
string trimmed = String.Empty;
List<string> priceList = new List<string>();
for (int i = 0; i < numberCount; i++)
{
trimmed = body;
match = rx.Match(trimmed).Index;
price = trimmed.Substring(match, 7);
priceList.Add(price);
trimmed = trimmed.Remove(0, match + 7);
}
Console.WriteLine(priceList[0]);
Console.WriteLine(priceList[1]);
Console.ReadKey();
Предположим, строка: ABC $300 DEF $600 GHI $120 JKF $980
После первой итерации цикла я должен получить $300
, на второй $600
и так далее. Вместо этого я получаю $300
каждый раз.
Как это исправить, чтобы получить правильные значения?