Hi there, I start out with a string containing at least 1 '+' separating
words in it. I'm trying to get an array using str.split('+'), so I can
use each word to do something different.
So for example, I have string = "science+students"
Now I want an array: ["science", "students"]
Problem is, when I do string.split('+'), I'm getting a single string
with the '+' removed, so if I do:
@cmds = @string.split('+')
for @item in @cmds
puts 1
end
'1' is only outputted once, and if I just print out @cmds, I get
"science students" (I used this to see how many items were in the
'array')
Can anyone explain to me what's happening here? It looks like the split
method is returning the original strings without the '+' characters, and
not an array as it should be...
split behaves exactly as documented for me. What is the full section of
code where this is happening? Does:
string = "science+students"
string.split('+')
return ["science", "students"]
in irb on your machine?
···
On Mon, Aug 25, 2008 at 7:45 AM, Amanda .. <a.etherton@hotmail.com> wrote:
Hi there, I start out with a string containing at least 1 '+' separating
words in it. I'm trying to get an array using str.split('+'), so I can
use each word to do something different.
So for example, I have string = "science+students"
Now I want an array: ["science", "students"]
Problem is, when I do string.split('+'), I'm getting a single string
with the '+' removed, so if I do:
@cmds = @string.split('+')
for @item in @cmds
puts 1
end
'1' is only outputted once, and if I just print out @cmds, I get
"science students" (I used this to see how many items were in the
'array')
Can anyone explain to me what's happening here? It looks like the split
method is returning the original strings without the '+' characters, and
not an array as it should be...
Can anyone explain to me what's happening here? It looks like the split
method is returning the original strings without the '+' characters, and
not an array as it should be...
Your code works perfectly, see below, so my only theory is that @string doesn't have what you think it has.
Can you print it before the split?
irb(main):021:0> @string = "science+students"
=> "science+students"
irb(main):022:0> @cmds = @string.split('+')
=> ["science", "students"]
irb(main):023:0> for @item in @cmds
irb(main):024:1> puts 1
irb(main):025:1> end
1
1
=> ["science", "students"]
Jesus.
···
On Mon, Aug 25, 2008 at 3:45 PM, Amanda .. <a.etherton@hotmail.com> wrote:
Hi there, I start out with a string containing at least 1 '+' separating
words in it. I'm trying to get an array using str.split('+'), so I can
use each word to do something different.
So for example, I have string = "science+students"
Now I want an array: ["science", "students"]
Problem is, when I do string.split('+'), I'm getting a single string
with the '+' removed, so if I do:
@cmds = @string.split('+')
for @item in @cmds
puts 1
end
'1' is only outputted once, and if I just print out @cmds, I get
"science students" (I used this to see how many items were in the
'array')
Can anyone explain to me what's happening here? It looks like the split
method is returning the original strings without the '+' characters, and
not an array as it should be...
Okay you're all right, before the split it's already "science students"
... how can I stop that from happening?
I'm pulling it in through a URL for a calendar/events site. The URL
determines what calendars to pull events from (ie science and students),
so I have params[:cal] that's supposed to store the string. Why is it
unescaping it for me?
On Mon, Aug 25, 2008 at 8:06 AM, Amanda .. <a.etherton@hotmail.com> wrote:
Okay you're all right, before the split it's already "science students"
... how can I stop that from happening?
I'm pulling it in through a URL for a calendar/events site. The URL
determines what calendars to pull events from (ie science and students),
so I have params[:cal] that's supposed to store the string. Why is it
unescaping it for me?
--
"Hey brother Christian with your high and mighty errand, Your actions
speak
so loud, I can't hear a word you're saying."
-Greg Graffin (Bad Religion)
Problem with that is some of the calendars have spaces in their names
(ie General Public) so I have it set up so that people have to put a '-'
wherever there's a space in a name, then I gsub('-', ' ') afterwards.
I'm trying to do a gsub(' ', '+'), and then the gsub('-', ' ').
--
Posted via http://www.ruby-forum.com/\.