やっていて便利だと思ったメソッドをメモ書き。
※ 本当にただのメモです。
文字列の出現回数を数える
一文字
str = "aaabbbcccabc"
str.count("a")
=> 4
複数文字
str = "aaabbbcccabc"
str.scan("ab")
=> [ab, ab]
str.scan("ab").length
=> 2
絶対値を取得
num = 5
num.abs
=> 5
num = (-5)
num.abs
=> 5
文字列の一部を置き換え
str = "aabbcc"
str.gsub("aa", "")
=> str = bbcc
aaを空文字に置き換え
文字列の一部を削除
末尾から削除
str = "aabbcc"
str.chomp("cc")
=> aabb
どこでも削除
str = "aabbcc"
str.delete("bb")
=> aacc
大文字 ⇄ 小文字
str = "abc"
str.upcase
=> ABC
str.downcase
=> abc
配列
生成
(1..5).to_a
=> [1, 2, 3, 4, 5]
追加
末尾
array = ["a", "b", "c"]
array.push("e");
array = ["a", "b", "c", "e"]
先頭
array = ["a", "b", "c"]
array.unshif("e");
array = ["e", "a", "b", "c"]
削除
array = ["a", "b", "c", "e"]
array.delete("e")
array = ["a", "b", "c"]
array[0,2] = []
array = ["c"]
添字0から2つ削除
置き換え
array = ["a", "b", "c"]
array.map!{|x| x=="a" ? "z" : x}
=> ["z", "b", "c"]
二つの配列の結合
arrayX = [1, 2, 3]
arrayY = ["a", "b", "c"]
arrayX.concat(arrayY)
arrayX = [1, 2, 3, "a", "b", "c"]
重複を削除
array = [1, 1, 2, 2, 3, 3]
array.uniq
=> [1, 2, 3]
反転
array = ["a", "b", "c"]
array.reverse!
=> ["c", "b", "a"]
文字列を一文字ずつ分割
str = "abc"
str.chars
=> ["a", "b", "c"]
num = 12345
num.chars
=> [1, 2, 3, 4, 5]
結合した文字列の作成
array = ["a", "b", "c"]
array.join
=> "abc"