I am a newbie to ruby and when i tried to split a string at tab
positions, it didnt work. Could you please tell me where I am going
wrong? Code is pasted.
#!/usr/bin/ruby1.9
s = "a b"
ss = s.split('\t')
puts ss[0]
It just prints the entire line without splitting...
first, you should use double quote when you want to escape a character.
s = "a\tb"
=> "a\tb"
ss = s.split("\t")
=> ["a", "b"]
···
2008/5/30, suresh <suresh.amritapuri@gmail.com>:
Hi
I am a newbie to ruby and when i tried to split a string at tab
positions, it didnt work. Could you please tell me where I am going
wrong? Code is pasted.
#!/usr/bin/ruby1.9
s = "a b"
ss = s.split('\t')
puts ss[0]
It just prints the entire line without splitting...
I am a newbie to ruby and when i tried to split a string at tab
positions, it didnt work. Could you please tell me where I am going
wrong? Code is pasted.
#!/usr/bin/ruby1.9
s = "a b"
ss = s.split('\t')
puts ss[0]
It just prints the entire line without splitting...
suresh
The problem is the '\t' - anything inside single quotes is not touched by Ruby. It needs to be "\t" (double quotes) for it to be interpreted as a tab character by Ruby.
In my mind, this is the #1 problem that C programmers have in Ruby - it just seems natural to split at a character \t and C programmers (incl me) write it as '\t'.
Thank you both. It was the double quote issue...when i gave split "\t"
it came correctly....difficulties of a C++ programmer !!!
···
On May 30, 5:28 am, Oscar Del Ben <thehcdrea...@gmail.com> wrote:
[Note: parts of this message were removed to make it a legal post.]
first, you should use double quote when you want to escape a character.
>> s = "a\tb"
=> "a\tb"
>> ss = s.split("\t")
=> ["a", "b"]
2008/5/30, suresh <suresh.amritap...@gmail.com>:
> Hi
> I am a newbie to ruby and when i tried to split a string at tab
> positions, it didnt work. Could you please tell me where I am going
> wrong? Code is pasted.
> #!/usr/bin/ruby1.9
> s = "a b"
> ss = s.split('\t')
> puts ss[0]
> It just prints the entire line without splitting...
I think his piece of code also works - in my mind, the problem is the single quotes surrounding the \t. I've just got done with processing lots of delimited data and went through the same frustration. ',' would work but '\t' wouldn't!