emlo9999 Posted December 27, 2013 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?
Jury Posted December 27, 2013 Posted December 27, 2013 What have you tried - let's see some of your code. See the help item for StringSplit perhaps
emlo9999 Posted December 27, 2013 Author 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
Moderators Solution Melba23 Posted December 27, 2013 Moderators Solution 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
Valuater Posted December 27, 2013 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
emlo9999 Posted December 27, 2013 Author Posted December 27, 2013 Thank you all for help. You are awesome and so does this forum
Malkey Posted December 27, 2013 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)
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