Ruby String

Operations

Arithmetic

a = "ru" + "by" #=> "ruby"
a * 3       #=> "rubyrubyruby"
3 * a       #=> TypeError

<< method

a = "ru"
p a << "by"
p a      # ruby
&#91;/ruby&#93;

<b>Compare</b>
[ruby]
"a" < "b"    #=> true
"ab" < "ac"  #=> true
"Ab" == "Ab"    #=> true
"Ab" <=> "Ab" #=> 0

Byte length

"abcde".length
"ほむほむ".length  # Multi byte

sprintf

Same as C

sprintf("result: %#b", 16)  # binary
sprintf("result: %#o", 16)  # 8進数
sprintf("result: %#x", 16)
sprintf("result: %#X", 16)
 
sprintf("result: %02d", 1)
sprintf("result: %03d", 1)
sprintf("result: %05.2f", 1.1111)

String to Integer, Integer to String

to_i, to_f String to Integer

"100".to_i
"1.9".to_f
"12ab3".to_i        #=> 12
"12ab3".to_f        #=> 12.0
"1.9".to_i      #=> 1
"1.9.9".to_f        #=> 1.9

to_s Integer to String

12.to_s

split

str = "12,35,67 ,23,35,67 ,12,23"
strs = str.split(' ')
p strs   # ["12,35,67", ",23,35,67", ",12,23"]

slice

str = "1stdcgt"
news = slice(1, str[i].length-1)
p news # stdcgt