Add text at beginning of a string


#1

Hi,

Sorry for this silly question, but I don’t remember how to insert text
to the beginning of a string. It’s like the concatenate (or <<) operator
but it adds text before.

Thanks


#2

On Sat, Dec 20, 2008 at 6:13 PM, Fernando P. removed_email_address@domain.invalid
wrote:

Hi,

Sorry for this silly question, but I don’t remember how to insert text
to the beginning of a string. It’s like the concatenate (or <<) operator
but it adds text before.

I recommend studying this page, it’s good to be familiar with the
methods in class String:

http://ruby-doc.org/core/classes/String.html

The one you are looking for is:

irb(main):001:0> s = “world”
=> “world”
irb(main):002:0> s.insert(0, "hello ")
=> “hello world”
irb(main):003:0> s
=> “hello world”

Hope this helps,

Jesus.


#3

irb(main):002:0> s.insert(0, "hello ")

['hello ', s].join

…and how about unshift?

Any sicker ways out there?? Besides s = 'hello ’ + s?


#4

Any sicker ways out there?? Besides s = 'hello ’ + s?

irb(main):001:0> s = " world"
=> " world"
irb(main):002:0> s[0,0] = “hello”
=> “hello”
irb(main):003:0> s
=> “hello world”


#5

On Sat, Dec 20, 2008 at 9:26 PM, Phlip removed_email_address@domain.invalid wrote:

irb(main):002:0> s.insert(0, "hello ")

['hello ', s].join

…and how about unshift?

Any sicker ways out there?? Besides s = 'hello ’ + s?

Just a note: both your join method and the + method above will create
a new string object, while the other methods in this thread (insert,
[/\A/], [0,0]) will modify the string in place. This might or might
not matter to the OP.

Regards,

Jesus.


#6

Phlip wrote:

irb(main):002:0> s.insert(0, "hello ")

['hello ', s].join

…and how about unshift?

Any sicker ways out there?? Besides s = 'hello ’ + s?

irb(main):001:0> s = " world"
=> " world"
irb(main):002:0> s[/\A/] = “hello,”
=> “hello,”
irb(main):003:0> s
=> “hello, world”