Замена чисел с плавающей запятой после определённого текста
String Rate = System.Text.RegularExpressions.Regex.Match(Response, @"161407,""FUSDBUY"":2.4350,""FUSDSELL"":([0-9]+\.[0-9]+),""").Groups[1].Value;
Вместо 2.4350 нужно найти любое число с плавающей запятой. Как только уже не пробовал не работает.
Текст:
161407,"FUSDBUY":2.4350,"FUSDSELL":2.5200,
Полный код метода парсера валют:
private String AlfabankUSDsell()
{
System.Net.WebClient wc = new System.Net.WebClient();
String Response = wc.DownloadString("https://infobank.by/kursy-valyut/rogachev/"); ;
String Rate = System.Text.RegularExpressions.Regex.Match(Response, @"161407,""FUSDBUY"":2.4350,""FUSDSELL"":([0-9]+\.[0-9]+),""").Groups[1].Value;
return Rate;
}
Ответы (1 шт):
Автор решения: Dzianis Karpuk
→ Ссылка
Если нужно именно регулярками парсить, 161407 в регулярке это какая-то известная константа, а 2.4350 это число, которое может измениться, то нужно просто поменять код на
private String AlfabankUSDsell()
{
System.Net.WebClient wc = new System.Net.WebClient();
String Response = wc.DownloadString("https://infobank.by/kursy-valyut/rogachev/"); ;
String Rate = System.Text.RegularExpressions.Regex.Match(Response, @"161407,""FUSDBUY"":([0-9]+\.[0-9]+),""FUSDSELL"":([0-9]+\.[0-9]+),""").Groups[2].Value;
return Rate;
}
Т.е. трактовать первое число, как первую группу в регулярке.