Hi
thanks for all the help on my previous question, but now I am trying to
clean up the output of some text output.
currently I have:
Time@110.075: EVENT: [LOG] *** DEBUG ACTION ***
and I'd like it to have:
110.075:DEBUG ACTION
: just for easy import into excel.
Here is the current ruby file I am working with where is looked for
lines with DEBUG and START in them.
File.open('output.txt', 'w') do |f2|
File.readlines("original.txt").each do |line|
if line =~ /DEBUG/ || line =~ /START/
f2.puts line
end
end
end
Any ideas?
thanks for your help
···
--
Posted via http://www.ruby-forum.com/.
why don't you gsub('Time@', '').gsub(' EVENT: [LOG] *** ', '').gsub(' ***',
'')
Greg
···
On Mon, Oct 12, 2009 at 3:27 PM, Collin Moore <collin.moore@gmail.com>wrote:
Hi
thanks for all the help on my previous question, but now I am trying to
clean up the output of some text output.
currently I have:
Time@110.075: EVENT: [LOG] *** DEBUG ACTION ***
and I'd like it to have:
110.075:DEBUG ACTION
: just for easy import into excel.
Here is the current ruby file I am working with where is looked for
lines with DEBUG and START in them.
File.open('output.txt', 'w') do |f2|
File.readlines("original.txt").each do |line|
if line =~ /DEBUG/ || line =~ /START/
f2.puts line
end
end
end
Any ideas?
thanks for your help
--
Posted via http://www.ruby-forum.com/\.
--
www.abetaday.com
You want a regexp. Something like this should work. (Stick it in
before the puts line.) (You may need to customize depending on your
exact requirements.)
line.sub!(/^Time@ (\d+\.\d+):.*\*{3} ([A-Z]+ [A-Z]+) \*{3}$/){ $1+':'+$2 }
···
On 10/12/09, Collin Moore <collin.moore@gmail.com> wrote:
Hi
thanks for all the help on my previous question, but now I am trying to
clean up the output of some text output.
currently I have:
Time@110.075: EVENT: [LOG] *** DEBUG ACTION ***
and I'd like it to have:
110.075:DEBUG ACTION
: just for easy import into excel.
Here is the current ruby file I am working with where is looked for
lines with DEBUG and START in them.
File.open('output.txt', 'w') do |f2|
File.readlines("original.txt").each do |line|
if line =~ /DEBUG/ || line =~ /START/
f2.puts line
end
end
end
Any ideas?
Hi!
I think you can use the following solution:
class TestClass
def test(val)
val.scan(/^[^@]+@(\d{1,3}\.\d{1,3})[^*]+\*{3}\s*([^*]+)/) do
puts $1+" : "+$2
end
end
end
myInst=TestClass.new
myInst.test("Time@110.075: EVENT: [LOG] *** DEBUG ACTION ***");
The result is: 110.075 : DEBUG ACTION
···
On Mon, Oct 12, 2009 at 11:40 PM, Caleb Clausen <vikkous@gmail.com> wrote:
On 10/12/09, Collin Moore <collin.moore@gmail.com> wrote:
Hi
thanks for all the help on my previous question, but now I am trying to
clean up the output of some text output.
currently I have:
Time@110.075: EVENT: [LOG] *** DEBUG ACTION ***
and I'd like it to have:
110.075:DEBUG ACTION
: just for easy import into excel.
Here is the current ruby file I am working with where is looked for
lines with DEBUG and START in them.
File.open('output.txt', 'w') do |f2|
File.readlines("original.txt").each do |line|
if line =~ /DEBUG/ || line =~ /START/
f2.puts line
end
end
end
Any ideas?
You want a regexp. Something like this should work. (Stick it in
before the puts line.) (You may need to customize depending on your
exact requirements.)
line.sub!(/^Time@ (\d+\.\d+):.*\*{3} ([A-Z]+ [A-Z]+) \*{3}$/){ $1+':'+$2 }
Caleb Clausen wrote:
: just for easy import into excel.
end
Any ideas?
You want a regexp. Something like this should work. (Stick it in
before the puts line.) (You may need to customize depending on your
exact requirements.)
line.sub!(/^Time@ (\d+\.\d+):.*\*{3} ([A-Z]+ [A-Z]+) \*{3}$/){ $1+':'+$2
}
I tried this with
File.open('output.txt', 'w') do |f2|
File.readlines("original.txt").each do |line|
if line =~ /DEBUG/ || line =~ /START/
f2.puts line.sub!(/^Time@ (\d+\.\d+):.*\*{3} ([A-Z]+ [A-Z]+)
\*{3}$/){ $1+':'+$2 }
end
end
end
and I get the output.txt with nil for each positive match.
···
On 10/12/09, Collin Moore <collin.moore@gmail.com> wrote:
--
Posted via http://www.ruby-forum.com/\.
Alexey Bovanenko wrote:
Hi!
I think you can use the following solution:
class TestClass
def test(val)
val.scan(/^[^@]+@(\d{1,3}\.\d{1,3})[^*]+\*{3}\s*([^*]+)/) do
puts $1+" : "+$2
end
end
end
myInst=TestClass.new
myInst.test("Time@110.075: EVENT: [LOG] *** DEBUG ACTION ***");
The result is: 110.075 : DEBUG ACTION
I tried this and 110.075 : DEBUG ACTION repeats for all the lines in the
output.
···
--
Posted via http://www.ruby-forum.com/\.
It's because I put line myInst.test("Time@110.075: EVENT: [LOG] ***
DEBUG ACTION ***");
There's string literal: "Time@110.075: EVENT: [LOG] *** DEBUG ACTION ***"
If you want parse file content you must read lines and put it to method:
File.open("fname.txt").each do |line|
myInst.test(line)
end
···
On Tue, Oct 13, 2009 at 1:09 AM, Collin Moore <collin.moore@gmail.com> wrote:
Alexey Bovanenko wrote:
Hi!
I think you can use the following solution:
class TestClass
def test(val)
val.scan(/^[^@]+@(\d{1,3}\.\d{1,3})[^*]+\*{3}\s*([^*]+)/) do
puts $1+" : "+$2
end
end
end
myInst=TestClass.new
myInst.test("Time@110.075: EVENT: [LOG] *** DEBUG ACTION ***");
The result is: 110.075 : DEBUG ACTION
I tried this and 110.075 : DEBUG ACTION repeats for all the lines in the
output.
--
Posted via http://www.ruby-forum.com/\.