Hi. I am don’t understand how to separate my string of filenames into an
array. For example, arrayDiscrep[0] outputs the whole array when I need
it to only output the first element at index 0 which would be filename:
234234. Do you know how I can separate each filename for the array?
Thanks MC
I have this directory of filenames.
234234.EXE 234234.EXE 234545.EXE 34543435.EXE 234563.EXE 24324345.EXE…
Dir[“C:/DiscrepancyFiles/*EXE”].each do |disFile|
stringDisFile = File.basename(disFile).gsub(“EXE,”")
arrayDiscrep = Array.new
arrayDiscrep = stringDisFile.to_a
puts arrayDiscrep[0]
end
Mmcolli00 Mom wrote:
Hi. I am don’t understand how to separate my string of filenames into an
array. For example, arrayDiscrep[0] outputs the whole array when I need
it to only output the first element at index 0 which would be filename:
234234. Do you know how I can separate each filename for the array?
Thanks MC
I have this directory of filenames.
234234.EXE 234234.EXE 234545.EXE 34543435.EXE 234563.EXE 24324345.EXE…
Dir[“C:/DiscrepancyFiles/*EXE”].each do |disFile|
stringDisFile = File.basename(disFile).gsub(“EXE,”")
arrayDiscrep = Array.new
arrayDiscrep = stringDisFile.to_a
puts arrayDiscrep[0]
end
Everything between the "each"and “end” is a loop, so you are making a
new array for each file.
File.basename has a nice feature; if you specify a suffix it is removed.
ar = Dir[“C:/DiscrepancyFiles/*EXE”].map do |dis_file|
File.basename(dis_file, “.exe”)
end
puts ar[0]
hth,
Siep
Cool it worked! Thanks Siep!
-MC
Siep
ar = Dir[“C:/DiscrepancyFiles/*EXE”].map do |dis_file|
File.basename(dis_file, “.exe”)
end
puts ar[0]
hth,
Siep
What if it weren’t coming from a directory could you still you .map?
-Misty
Mmcolli00 Mom wrote:
What if it weren’t coming from a directory could you still you .map?
-Misty
The way to do this depends on what the input is, if not a directory?
I don’t know how you’d get this input, but let’s say you have a string:
input = “234234.EXE 234234.EXE 234545.EXE 34543435.EXE 234563.EXE
24324345.EXE”
tokens = input.split(’ ‘)
first_token = tokens.first
remove_suffix = first_token.split(’.’).first
Or all in one line if you like:
input.split(’ ‘).first.split(’.’).first
There are a variety of other ways to do ‘this’, but what ‘this’ is
depends on, well, what you’re doing.