R!sh! Ответов: 2

Разбиение чисел на пробел и хранение в одной переменной


16.726--5.670--25.129**16.312--5.718--22.847**14.366--5.258--25.545**16.920--3.457--25.425**19.419--6.712--25.198**18.536--7.602--25.240**19.152--5.518--24.957**15.501--7.808--24.644**16.883--6.024--27.528**

I have to split the numbers. Remove those ** and -- between numbers and store in single variable( $points ). I have to do this in perl. i have provided the code till removing of ** between the numbers.

output of $points  : 16.726 5.670 25.129 16.312 5.718 22.847 14.366 5.258 25.545 16.920 3.457 25.425 19.419 6.712 25.198 18.536 7.602 25.240 19.152 5.518 24.957 15.501 7.808 24.644 16.883 6.024 27.528

Thanks in advance.


Что я уже пробовал:

$points = "16.726--5.670--25.129**16.312--5.718--22.847**14.366--5.258--25.545**16.920--3.457--25.425**19.419--6.712--25.198**18.536--7.602--25.240**19.152--5.518--24.957**15.501--7.808--24.644**16.883--6.024--27.528**";
@pointss = split(/\*\*/,$points);
print "@pointss\n";

2 Ответов

Рейтинг:
19

Jochen Arndt

Просто используйте чередование:

@pointss = split(/\*\*|--/, $points);


Рейтинг:
1

Patrice T

Всего несколько интересных ссылок, которые помогут построить и отладить регулярное выражение.
Вот ссылка на документацию по регулярным выражениям:
perlre - perldoc.perl.org[^]
Вот ссылки на инструменты, помогающие создавать регулярные выражения и отлаживать их:
.Объем тестер регулярное выражение - регулярное выражение шторм[^]
Регулярное Средство Выражения Эспрессо [^]
Это показывает вам регулярное выражение в виде красивого графика, который действительно полезен для понимания того, что делает регулярное выражение:
Debuggex: онлайн-тестер визуальных регулярных выражений. JavaScript, Python и PCRE.[^]