Что нового

Необходимо из полученной версии удалить 1-ю точку

Сообщения
95
Репутация
-1
Доброе время суток. Помогите решить одну загвоздку. Сделал скрипт, который удаляет 3 последние цифры из версии файла до 1-ой точки. Как удалить из измененной версии 1-ю точку

Код:
FileMove(@ScriptDir & '\Opera_GX_*_Setup_x64.exe', @ScriptDir & '\Opera GX\Opera_GX_Setup_x64.exe', 9)
If FileExists(@ScriptDir & '\Opera GX\Opera_GX_Setup_x64.exe') Then
$OperaVer2 = FileGetVersion(@ScriptDir & '\Opera GX\Opera_GX_Setup_x64.exe')
ConsoleWrite($OperaVer2 & @CRLF) ; Opera v1.0.0.0
$OperaVer2 = StringLeft($OperaVer2, StringInStr($OperaVer2, ".", 0, -3))
ConsoleWrite($OperaVer2 & @CRLF) ; Opera v1.
EndIf
MsgBox(0,'',$OperaVer2)


71cd3736e961.jpg
 

xXx

╚{■_■}╗
Меценат
Сообщения
248
Репутация
95
На примере блокнота, выводит только цифры до первой точки:
Код:
$OperaVer2 = FileGetVersion('notepad.exe')
$OperaVer2 = StringRegExpReplace($OperaVer2, '^(\d+).+', '$1')
MsgBox(0, '', $OperaVer2)
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Xabib2302
Если вам важно найти третью точку с конца, то так
Код:
$OperaVer2 = StringLeft($OperaVer2, StringInStr($OperaVer2, ".", 0, -3) - 1)

Но проще искать первую точку с начала
Код:
$OperaVer2 = StringLeft($OperaVer2, StringInStr($OperaVer2, ".") - 1)
 

IMStrelcov

CTPEJIbLLOB
Сообщения
253
Репутация
64
удалить все после первой точки
Код:
$OperaVer2=StringRegExpReplace($OperaVer2, '([^.]*).*', '$1')

удалить все после последней точки
Код:
$OperaVer2=StringRegExpReplace($OperaVer2, '(.*)\..*', '$1')
 
Верх