Это моя исходная строка:
<box><3>
<table><1>
<chair><8>
Это мой Регекс Патерн:
<(?<item>\w+?)><(?<count>\d+?)>
Это мой класс предметов
class Item
{
string Name;
int count;
//(...)
}
Это моя коллекция предметов;
List<Item> OrderList = new List(Item);
Я хочу заполнить этот список Item, основываясь на исходной строке.
Это моя функция. Это не работает.
Regex ItemRegex = new Regex(@"<(?<item>\w+?)><(?<count>\d+?)>", RegexOptions.Compiled);
foreach (Match ItemMatch in ItemRegex.Matches(sourceString))
{
Item temp = new Item(ItemMatch.Groups["item"].ToString(), int.Parse(ItemMatch.Groups["count"].ToString()));
OrderList.Add(temp);
}
В этом примере могут быть небольшие ошибки, такие как пропущенная буква в этом примере, потому что это более простая версия того, что у меня есть в приложении.
Проблема в том, что в итоге у меня есть только один элемент в списке заказов.
UPDATE
Я получил это работает.
Спасибо за помощь.