Разделить строку после каждого второго появления неизвестного элемента - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть строка со списком координат, которая представляет полигоны. В этом списке каждый полигон имеет одинаковые начальные и конечные координаты. Мне нужно, чтобы каждый многоугольник был отдельной строкой (или списком).

' 17.17165756225586 -28.102264404296875 , 17.184370040893555 -28.200496673583984,17.1986083984375 -28.223613739013672, 17.17165756225586, 28.102264429 28.865726470947266 -28.761619567871094 , 28.80694007873535 -28.75750160217285,28.792499542236328 -28.706947326660156, 28.865726470947266 * 28.7616191 101 * 94 * 101 * 94 9 Итак, из этого простого примера мне нужно иметь два элемента:

One = ' 17.17165756225586 -28.102264404296875 , 17.184370040893555 -28.200496673583984,17.1986083984375 -28.223613739013672, 17.17165756225586 -28.102221202968 Два = ' 28,865726470947266 -28,761619567871094 , 28.80694007873535 -28,75750160217285,28.792499542236328 -28,706947326660156, 28,8657264709471666 * 87 В строке может быть больше полигонов, каждый из которых должен быть разделен. Я могу использовать только стандартные библиотеки Python для этого

Ответы [ 11 ]

0 голосов
/ 03 сентября 2018

Как насчет разделения длинной строки с каждым "," и помещения ее в массив. Затем создайте цикл for и выполните:

intStart = 0;
if (array[intStart] == array[i]){
    for(j=0; j<i; j++){
        string += array[j];
    }
    arrPolygons.push(string);
    intStart = i+1;
}

Поэтому, когда начальные координаты соответствуют значению, добавьте все переменные между этими значениями в строку. Затем вставьте строку в другой массив. Затем начните сравнивать следующее значение с данными после.

Кстати, это просто пример псевдокода.

Надеюсь, это поможет

...