Rubyの文字列操作

ヒアドキュメントを変数に代入

str = <<-EOB



EOB

連結

a = "あ"
b = "い"

c = a + b
print c   # あい

a << b
print a   # あい

文字列の長さ

print "あいうえお".length             #=> 15(バイト数)

print "あいうえお".split(//u).length  #=> 5

文字列が含まれているか

t = "さしすせそたちつてと"
v = "そ"

t.include?(v)  # true

大文字小文字

s.upcase       # 大文字に
s.upcase!
s.downcase     # 小文字に
s.downcase!
s.swapcase     # 大文字と小文字を入れ替え
s.swapcase!
s.capitalize   # 最初の文字を大文字、以降を小文字に
s.capitalize!

置換

a = "あああああ"
a = a.sub(/あ/,'い')   # いああああ

b = "あああああ"
b = b.gsub(/あ/,'い')  # いいいいい

置換:破壊的

a.sub!(/あ/,'い')
b.gsub!(/あ/,'い')

先頭と末尾の空白文字をトル

str.strip
str.strip!  # 破壊的

# 例
print "  a b c   ".strip  #=> "a b c"

分割して配列に

a = str.split("/")

HTMLエスケープ

require "cgi"
str = CGI.escapeHTML(str)

文字コード変換

require "iconv"

utf8_str = "あいうえお"
sjis_str = Iconv.conv("SHIFT_JIS", "UTF-8", utf8_str)