CurbsideChucky Posted April 1, 2015 Share Posted April 1, 2015 Hi All, I'm trying to use the StringRegExpReplace function to replace a randomly placed string "data ignore value = unknown numbers", in multiple *my.txt files with "new stuff". I have been able to get it to replace everything before the wildcard, but the numbers after the wildcard are tacked onto "new stuff" So... What I want to change in the text file: data ignore value = 4 data ignore value = 45 What I want: new stuff new stuff What I currently get: new stuff 4 new stuff 45 $myfolder = @scriptdir If $myfolder <> "" Then Local $hSearch = FileFindFirstFile($myfolder & "*my.txt") While 1 $sFileName = FileFindNextFile($hSearch) If @error Then ExitLoop $szFile = $sFileName $szString = FileRead($szFile,FileGetSize($szFile)) $szString = StringRegExpReplace($szString, "data ignore value = *", "new stuff") FileRecycle($szFile) FileWrite($szFile,$szString) Wend FileClose($hSearch) EndIf Any help would be muchly appreciated. [font="'comic sans ms', cursive;"]Philosophical claptrap only adds to the confusion![/font] Link to comment Share on other sites More sharing options...
guinness Posted April 1, 2015 Share Posted April 1, 2015 Please use AutoIt tags (blue A) to show AutoIt code. As it's a little hard to read right now. 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...
Solution SadBunny Posted April 1, 2015 Solution Share Posted April 1, 2015 (edited) Change your: $szString = StringRegExpReplace($szString, "data ignore value = *", "new stuff") to: $szString = StringRegExpReplace($szString, "data ignore value =\s*\d+", "new stuff") The asterisk in your version applies to the space before it, so your pattern will match any string that: starts with data ignore value = has 0 or more spaces behind that My version should match any string that: starts with data ignore value = (like yours) has zero or more whitespace characters behind that string ( s* ) and has one or more digits behind those optional whitespaces ( d+ ) /edit note: untested. Edited April 1, 2015 by SadBunny CurbsideChucky 1 Roses are FF0000, violets are 0000FF... All my base are belong to you. Link to comment Share on other sites More sharing options...
CurbsideChucky Posted April 2, 2015 Author Share Posted April 2, 2015 Change your: $szString = StringRegExpReplace($szString, "data ignore value = *", "new stuff") to: $szString = StringRegExpReplace($szString, "data ignore value =\s*\d+", "new stuff") The asterisk in your version applies to the space before it, so your pattern will match any string that: starts with data ignore value = has 0 or more spaces behind that My version should match any string that: starts with data ignore value = (like yours) has zero or more whitespace characters behind that string ( s* ) and has one or more digits behind those optional whitespaces ( d+ ) /edit note: untested. Thanks SadBunny, those characters did the trick! SadBunny 1 [font="'comic sans ms', cursive;"]Philosophical claptrap only adds to the confusion![/font] 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