Что нового

RegExp Убрать текст в начале и конце каждой строки

vivernet

Знающий
Сообщения
32
Репутация
5
Суть: надо убрать весь текст до второй запятой включительно, и после третьей запятой включительно, проблема оказалось в том что, если какой либо из списка экземпляров работает, то кол-во данных и запятых меняются....

Вот пример как пытался сделать:
Код:
Local $sText = "0,nox,Основной,0,0,0,-1,-1" & @CRLF & _
               "1,Nox_1,NoxPlayer-1,0,0,0,-1,-1"
Local $sResult = StringRegExpReplace($sText, "(?m)^.*?,.*?,(\S+),.*?,.*?,.*?,.*?,.*?-{0,1}[0-9]+", "\1")
ConsoleWrite($sResult & @CRLF)


И в данном случае все супер работает, результат выходит как надо:
Код:
Основной
NoxPlayer-1


Однако когда один из указанных в списке экземпляров запущен, то выходит что в первой строке на 1 запятую меньше, и в итоге с первой строкой провал(((
Код:
Local $sText = "0,nox,Основной,002A250A,002732AE,003813A6,77528" & @CRLF & _
               "1,Nox_1,NoxPlayer-1,0,0,0,-1,-1"
Local $sResult = StringRegExpReplace($sText, "(?m)^.*?,.*?,(\S+),.*?,.*?,.*?,.*?,.*?-{0,1}[0-9]+", "\1")
ConsoleWrite($sResult & @CRLF)


Результат:
Код:
0,nox,Основной,002A250A,002732AE,003813A6,77528
NoxPlayer-1
 

IMStrelcov

CTPEJIbLLOB
Сообщения
253
Репутация
64
Код:
StringRegExpReplace($sText, "(?m)^(?:(?:[^,]*,){2})([^,]*)(?:[^\v]*)$", "$1")
 
Верх