Re: Quickest way to do this string op


#1

“BOCA RATON”.replace “Boca Raton” # :stuck_out_tongue:

Probably

“BOCA RATON”.split(/\b/).map{|s| s.capitalize }.join

It is quick to write, at least…

HTH

“BOCA RATON”.gsub(/\w+/){|w| w.capitalize}

is even shorter :slight_smile:

cheers

Simon


#2

Hi,

I’m new to Ruby but can’t you just use :

“BOCA RATON”.capitalize

?

Cheers,

Pete


#3

Answer : No you can’t. Please ignore me :wink:


#4

Peter P. wrote:

Answer : No you can’t. Please ignore me :wink:

Do we ignore the message asking us to ignore you?

:slight_smile:

Anyway, you were on the right track, but the string needs to be chunked
on white space, then regrouped.

“BOCA RATON”.split( /\s/ ).map{ |w| w.capitalize }.join( ’ ’ )

If one tends to do this a lot, it can be added as an instance method to
String:

class String
def titlize
self.split( /\s/).map{ |w| w.capitalize }.join( ’ ’ )
end
end

“BOCA RATON”.titlize


James B.

?Design depends largely on constraints.?
? Charles Eames


#5

On Monday 13 March 2006 08:36 am, Peter P. wrote:

Hi,

I’m new to Ruby but can’t you just use :

“BOCA RATON”.capitalize

Nope! (That gives => “Boca raton”).

And, even as a Ruby newbie, I determined in seconds.

The real point of my post is to say that, while I’m learning Ruby, I
have IRB
open in a konsole right next to kmail–it’s very nice to quickly plug a
piece
of code in there and do some testing (confirm it works, take bits off
the end
to see intermediate results, etc.).

regards,
Randy K.


#6

Peter P. removed_email_address@domain.invalid writes:

I’m new to Ruby but can’t you just use :

“BOCA RATON”.capitalize

irb(main):001:0> “BOCA RATON”.capitalize
=> “Boca raton”

Regards,
Tassilo