emlo9999 Posted December 27, 2013 Share Posted December 27, 2013 Hello, It's my first post here and I'm creating this topic because it's really difficult to specify my problems and solve it by using search engines. Here is the problem: I have a txt file which looks like this: something1111|something22|0 something4|something899999|0 something11|something6|0 what I need to have: $var1=something1111 $var2=something22 $var3=0 and so on. Can you help me? Link to comment Share on other sites More sharing options...
Jury Posted December 27, 2013 Share Posted December 27, 2013 What have you tried - let's see some of your code. See the help item for StringSplit perhaps Link to comment Share on other sites More sharing options...
emlo9999 Posted December 27, 2013 Author Share Posted December 27, 2013 What have you tried - let's see some of your code. See the help item for StringSplit perhaps I think I will manage to do it now, I only needed the name of function that does such thing Link to comment Share on other sites More sharing options...
Moderators Solution Melba23 Posted December 27, 2013 Moderators Solution Share Posted December 27, 2013 emlo9999,Welcome to the AutoIt forum. Putting the data into separate variables is not that easy - how about an array? #include <File.au3> ; Creare an array to hold the items - witha a count in 0 Global $aItems[1000] = [0] $aLines = FileReadToArray("Test.txt") ;_ArrayDisplay($aLines, "", Default, 8) For $i = 0 To UBound($aLines) - 1 ; Split the line and add to the array $aTemp = StringSplit($aLines[$i], "|") ;_ArrayDisplay($aTemp, "", Default, 8) ; Now add these items to the array For $j = 1 To $aTemp[0] ; Increase count $aItems[0] += 1 ; Add item $aItems[$aItems[0]] = $aTemp[$j] Next Next ; Remove unused elements ReDim $aItems[$aItems[0] + 1] ; Show result _ArrayDisplay($aItems, "All done")I have left the _ArrayDisplay lines so you can follow the code as it runs. Please ask if you have any questions. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
Valuater Posted December 27, 2013 Share Posted December 27, 2013 (edited) These are the two functions I would use.. _FileReadToArray() StringSplit() See the help file for use 8) .............. Melba beat me to it... But we agree on functions use!! 8) Edited December 27, 2013 by Valuater Link to comment Share on other sites More sharing options...
emlo9999 Posted December 27, 2013 Author Share Posted December 27, 2013 Thank you all for help. You are awesome and so does this forum Link to comment Share on other sites More sharing options...
Malkey Posted December 27, 2013 Share Posted December 27, 2013 Here is another working example. A "Test.txt" file with appropiate data needs to exist in same directory as this script. Otherwise, the full path name of file is required. #include <Array.au3> ; For _ArrayDisplay() use only. $aArray = StringRegExp(FileRead("Test.txt"), "[^|\v]+", 3) ; Split text on all "|"s (vertical bars) and/or "\v"s (vertical white spaces). _ArrayDisplay($aArray) 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