shiv Posted December 13, 2013 Share Posted December 13, 2013 I have a file name ppppppppppsssssssssssss_7.8.9.0.msi By using the below code im am getting the output = 7.8.9.0 which is correct Local $sFileList = _FileListToArray($sFilePath); Local $sFileName = $sFileList[1] $sValue = $sFilePath & $sFileName Local $sExt = StringSplit($sFileName, ".", 0) Local $sName = StringSplit($sFileName, "_", 0) $sFileVersion = StringTrimRight($sName[2], StringLen($sExt[$sExt[0]]) + 1) Now i have a file name aa_bbbbbbb_cccccc_ooooooo_5.5.5.5 By using the code written above i am getting bbb in the output But i want 5.5.5.5 in the output PLease help , actually i am confused in using stringsplit and stringTrimRight Thanks in advance Link to comment Share on other sites More sharing options...
jchd Posted December 13, 2013 Share Posted December 13, 2013 A bit simpler, depending on point of view: Local $sFileVersion = StringRegExp($FileName, "\d+\.\d+\.\d+\.\d+", 1) This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe hereRegExp tutorial: enough to get startedPCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta. SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt) Link to comment Share on other sites More sharing options...
Kidney Posted December 13, 2013 Share Posted December 13, 2013 try using this instead: $string = "aa_bbbbbbb_cccccc_ooooooo_5.5.5.5" $result = StringRegExp($string, "\d.\d.\d.\d", 1) ConsoleWrite($result[0] & @CRLF) Link to comment Share on other sites More sharing options...
shiv Posted December 13, 2013 Author Share Posted December 13, 2013 Hi jchd, I used the code mentioned by you but it does not give any output. value returned is blank Link to comment Share on other sites More sharing options...
Kidney Posted December 13, 2013 Share Posted December 13, 2013 thats because it returns an array. look at my example. its just like his but it shows you how to get the output. Link to comment Share on other sites More sharing options...
shiv Posted December 13, 2013 Author Share Posted December 13, 2013 Hi Awais Thanks a lot its working.. Just for knowledge I did not understand the use of $rus as we are not using it in $rep Could you please explain Link to comment Share on other sites More sharing options...
Malkey Posted December 13, 2013 Share Posted December 13, 2013 Some more string manipulation. #include <Array.au3> ; For display purposes only Local $FileName = "aa_bbbbbbb_cccccc_ooooooo_5.5.5.5" Local $aArray = StringRegExp($FileName, "((?:\d+\.)+\d+)", 1) ; StringRegExp() returns an array when successful. _ArrayDisplay($aArray) ConsoleWrite("$aArray[0] " & $aArray[0] & @LF) ConsoleWrite("StringMid " & StringMid($FileName, StringInStr($FileName, "_", 0, -1) + 1) & @LF) ConsoleWrite("StringRight " & StringRight($FileName, StringLen($FileName) - StringInStr($FileName, "_", 0, -1)) & @LF) ConsoleWrite("StringTrimLeft " & StringTrimLeft($FileName, StringInStr($FileName, "_", 0, -1)) & @LF) Link to comment Share on other sites More sharing options...
guinness Posted December 13, 2013 Share Posted December 13, 2013 Try This #include <File.au3> Local $sFilePath = "C:\TKK" Local $sFileList = _FileListToArray($sFilePath); Local $sFileName = $sFileList[1] $sValue = $sFilePath & $sFileName Local $sExt = StringSplit($sFileName, "_", 0) Local $ARRYSIZE = UBound($sExt) Local $rep = StringReplace($sExt[$ARRYSIZE - 1],".msi"," ") MsgBox(0,"Version is ",$rep)Great you're using variable declaration, so just thought I would point out $sValue isn't declared. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
shiv Posted December 13, 2013 Author Share Posted December 13, 2013 Thanks Awais 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now