Привет всем, не могу сделать разбиение строки на подстроки с помощью регулярных выражений, как это требуется. Нужно разбить строку на подстроки длины 2 или меньше, начиная с конца строки и занести подстроки в List. Есть код:
value = (from Match splitPart in Regex.Matches(number, @".{1," + 2 + "}") select Convert.ToInt32(splitPart.Value)).ToList();
но он делит с начала строки, например строку 12345 он разобьет как 12 34 5, а мне необходимо 1 23 45, заранее спасибо.
Проблема решена) Сделал так:
value = (from Match splitPart in Regex.Matches(unsig, @".{1," + 2 + "}", RegexOptions.RightToLeft) select Convert.ToInt32(splitPart.Value)).ToList();
если кому будет интересно.
А почему бы это не сделать через банальный цикл вместо регулярки?
List<int> lst = new List<int>();
for (int i = str.Length-1; i>0; i-=2)
{
string tmp;
if (i!=1)
{
tmp = str.Substring(i-2,2);
}
else
{
tmp = str.Substring(0,1);
}
var tmpInt = Convert.ToInt32(tmp);
lst.Add(tmpInt);
}
хоть кода и больше, скорее всего это решение будет читабельнее и быстрее. Ведь это простой перебор, а не серия регекс сравнений.
(код не проверял)
Можно сначала проверить длину и если длина нечетное число, спереди добавить 0:
if (number.Length % 2 == 1) number = "0" + number;
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Здравствуйте! У меня есть страничное приложение WPF, навигация в котором организована в виде бокового меню, основанного на TreeViewВ каждом TreeViewItem
Нужно автоматизировать обновление кода на сервере, что б я изменял код у себя на компьютере, затем залил на GitHub, а затем подал команду серверу...
Пишу простейший файловый менеджер