Подскажите, пожалуйста, можно ли разделить на уровни вложенности строку и каждому уровню вложенности задать процент (где между фигурной скобкой и прямой чертой идет значение).
Например, такая строка: { 1 уровень - 1 | 1 уровень - 2 { 2 уровень - 1 | 2 уровень - 2 } }
Чтобы в результате получилась строка:
{ 50%: 1 уровень - 1 | 50%: 1 уровень - 2 { 25%: 2 уровень - 1 | 25%: 2 уровень - 2 } }
Примерно по такому принципу. Не только на 2 уровень, но и на более глубокие уровни вложенности.
Проще говоря, как бы разделить эту строку по "|", но чтобы оно было вне фигурных скобок.
Ипатьев, Это я ранее писал такого рода строки. Теперь необходимо разбить их по уровням вложенности. Я уже готов и, так сказать, в полуавтоматическом режиме сделать все это. Если вручную все это делать, то очень большое количество времени уходит.
Даже если это можно сделать через регулярки (мне так не кажется), этот код не будет поддерживаемым и читаемым.
Напишите простой конечный автомат, который будет разбирать строку посимвольно в многоуровневый массив, а потом к элементам этого массива добавляйте свой процент, который будет высчитываться исходя из количества соседей. Для сборки финальной строки понадобится рекурсия, но это преодолимое препятствие.