取り除いたりする(Ruby)
取り除くで!!という感じのものをまとめた
○末尾の改行文字(\n, \r)を取り除く
chomp
chomp!
chomp!はレシーバ自身を変更する。
引数に文字列を指定すると、その文字列を改行文字とみなす
末尾に改行文字があればレシーバ自身、ない時はnilを戻り値とする
>> moji = gets #Hello Curryと入力 >> moji => "Hello Curry\n" >> moji.chomp #改行文字を取り除く => "Hello Curry" >> moji => "Hello Curry\n" >> moji.chomp! #レシーバ自身を変更 => "Hello Curry" >> moji => "Hello Curry" >> moji.chomp!("y") #文字列を指定 => "Hello Curr"
○末尾から1文字取り除く
chop
chop!
chop!はレシーバ自身を変更する。
末尾が"\r\n"で終わっている場合は"\r\n"を取り除く
漢字のように2バイト以上の文字でも1文字分消してくれる
>> moji = gets # Hello Curry => "Hello Curry\n" >> moji.chop # 1文字(\n)取り除く => "Hello Curry" >> moji.chop! => "Hello Curry" >> moji => "Hello Curry" >> moji.chop! # 1文字(y)取り除く => "Hello Curr" >> moji => "Hello Curr"
○文字列の先頭の空白文字を取り除く
lstrip
lstrip!
lstrip!はレシーバ自身を変更する。
>> moji = gets" Hello Curry\n" >> moji.lstrip => "Hello Curry\n" >> moji => " Hello Curry\n" >> moji.lstrip! => "Hello Curry\n" >> moji => "Hello Curry\n"
○文字列の末尾の空白文字を取り除く
rstrip
rstrip!
rstrip!はレシーバ自身を変更する。
半角空白・タブ・復帰・改行・末尾のヌル文字など
>> moji = gets # "Hello Curry \n" => "Hello Curry \n" >> moji.rstrip => "Hello Curry" >> p moji => "Hello Curry \n" >> moji.rstrip! => "Hello Curry" >> moji => "Hello Curry" >> moji => "Hello Curry" >> moji.rstrip! # 末尾が空白文字でないとき => nil
○文字の先頭と末尾の空白文字を取り除く
strip
strip!
strip!はレシーバ自身を変更する。
>> moji = gets # " Hello Curry \n" >> moji.strip => "Hello Curry" >> moji => " Hello Curry \n" >> moji.strip! => "Hello Curry" >> moji => "Hello Curry"
○配列の末尾の要素を削除し要素を返す
pop
レシーバ自身を変更する
空の時はnilを返す
>> list = ["N", "a", "a", "n", "\n"] >> list.pop => "\n" # 末尾の要素 >> list => ["N", "a", "a", "n"] # list自身が変更された
○配列の先頭の要素を削除し要素を返す
shift
レシーバ自身を変更する
空の時はnilを返す
>> list = ["K", "a", "n", "p", "a", "n"] >> list.shift => "K" # 先頭の要素 >> list => ["a", "n", "p", "a", "n"]