- Регистрация
- 18.08.2015
- Сообщения
- 154
- Благодарностей
- 15
- Баллы
- 18
Здравствуйте!
Подскажите, пожалуйста, что делаю не так, мне нужно пробежаться по всем строкам списка, вытащить из каждой строки регуляркой значение баланса, и получить общий баланс всех строк, в строке он записан так BALANCE: 55.70, регулярка для него такая (?<=BALANCE:\ ).*(?=\ ]), в тестере все находит без проблем, а в цикле со списком не хочет.
Подскажите, пожалуйста, что делаю не так, мне нужно пробежаться по всем строкам списка, вытащить из каждой строки регуляркой значение баланса, и получить общий баланс всех строк, в строке он записан так BALANCE: 55.70, регулярка для него такая (?<=BALANCE:\ ).*(?=\ ]), в тестере все находит без проблем, а в цикле со списком не хочет.
Код:
var AccountsBalance = project.Lists["AccountsBalance"];
string regex_balance = @"(?<=BALANCE:\ ).*(?=\ ])";
decimal totalBalance = 0;
decimal nowBalance = 0;
lock(SyncObjects.ListSyncer)
{
for(int i=0; i < AccountsBalance.Count; i++)
{
string str = AccountsBalance[i];
string str_balance = System.Text.RegularExpressions.Regex.Match(str, regex_balance).ToString();
str_balance = str_balance.Replace(".", ",");
nowBalance = System.Convert.ToDecimal(str_balance);
totalBalance = totalBalance + nowBalance;
}
return totalBalance;
}