String クラス
参考:
使い方
参考:
How To Work with String Methods in Ruby | DigitalOcean
length / size
参考:
instance method String#length (Ruby 2.6.0)
slice
参考:
instance method String#[] (Ruby 2.6.0)
Ruby string slice index: str[n..infinity] – Stack Overflow
[]=
文字列の一部を置き換える。
参考:
instance method String#[]= (Ruby 2.6.0)
rstrip / rstrip!
rstrip
は末尾の改行を取り除いた新しい文字列を返す。
rstrip!
はレシーバ自身の文字列から末尾の改行を取り除く。変更があった場合はレシーバ自身を、変更がない場合は nil
を返す。
参考:
rstrip, rstrip! (String) | Ruby リファレンス (ref.xaio.jp)
instance method String#rstrip (Ruby 2.6.0)
instance method String#rstrip! (Ruby 2.6.0)
chomp / chomp!
参考:
instance method String#chomp (Ruby 2.6.0)
instance method String#chomp! (Ruby 2.6.0)
末尾の1文字ではなく、指定した文字列を取り除きたい。| teratail
chop / chop!
参考:
instance method String#chop (Ruby 2.6.0)
instance method String#chop! (Ruby 2.6.0)
strip / strip!
参考:
instance method String#strip (Ruby 2.6.0)
instance method String#strip! (Ruby 2.6.0)
start_with?
str.start_with?("prefix")
文字列の先頭が引数 prefix
の文字列で始まっていれば true
、そうでなければ false
を返す。
参考:
instance method String#start_with? (Ruby 2.6.0)
start_with? (String) | Ruby リファレンス (ref.xaio.jp)
Ruby の文字列マッチ判定のパフォーマンス | Yuichi Takada
end_with?
str.end_with?("suffix")
文字列の末尾が引数 suffix
の文字列で終わっていれば true
、そうでなければ false
を返す。
参考:
instance method String#end_with? (Ruby 2.6.0)
end_with? (String) | Ruby リファレンス (ref.xaio.jp)
casecmp
str.casecmp(other_str)
大文字小文字の区別をしないで比較する。
参考:
casecmp (String) | Ruby リファレンス (ref.xaio.jp)
instance method String#casecmp (Ruby 2.6.0)
upcase / upcase!
参考:
instance method String#upcase (Ruby 2.6.0)
instance method String#upcase! (Ruby 2.6.0)
downcase / downcase!
参考:
instance method String#downcase (Ruby 2.6.0)
instance method String#downcase! (Ruby 2.6.0)
連結
参考:
Ruby の文字列連結に関して知っておくべきこと – Qiita
Ruby での文字列出力に「#+」ではなく式展開「#{}」を使うべき理由 | TechRacho
Ruby で文字列を連結・追加するメソッド「+」「concat」を使い分ける | レビューログ
文字列の繰り返し
参考:
文字列を指定の回数繰り返した新しい文字列を作成 | Ruby 入門 (javadrive.jp)
split
参考:
instance method String#split (Ruby 2.6.0)
delete_prefix / delete_prefix!
参考:
instance method String#delete_prefix (Ruby 2.6.0)
instance method String#delete_prefix! (Ruby 2.6.0)
delete_suffix / delete_suffix!
参考:
instance method String#delete_suffix (Ruby 2.6.0)
instance method String#delete_suffix! (Ruby 2.6.0)
部分的に削除する
部分的に取り除く、もしくは、部分的に取り出す操作に使うメソッド
delete
/delete!
delete_prefix
/delete_prefix!
delete_suffix
/delete_suffix!
slice
/[]
/slice!
chop
/chop!
chomp
/chomp!
strip
/strip!
lstrip
/lstrip!
rstrip
/rstrip!
sub
/sub!
gsub
/gsub!
partition
rpartition
split
squeeze
/squeeze!
参考:
Ruby 文字列から文字を削除するメソッドまとめ | code161
chomp、chop、strip、gsub による改行の削除徹底比較!| 侍エンジニア塾ブログ
文字列中に存在する必要のない空白を削除する方法 – Qiita
What is the easiest way to remove the first character from a string? – Stack Overflow
英数字以外を取り除く
参考:
How do I strip non alphanumeric characters from a string and keep spaces? – Stack Overflow
Stripping non-alphanumeric chars but leaving spaces in Ruby – Stack Overflow
クォーテーションを取り除く
参考:
How to strip leading and trailing quote from string, in Ruby – Stack Overflow
Remove double quotes from string – Stack Overflow
括弧を取り除く
参考:
How do I strip parenthesis from a string in Ruby? – Stack Overflow
括弧付きの数字を取り除く
参考:
Using Regex to remove brackets and parentheses from a string | George Gore
ljust / rjust
参考:
instance method String#ljust (Ruby 2.6.0)
instance method String#rjust (Ruby 2.6.0)
delete / delete!
参考:
instance method String#delete (Ruby 2.6.0)
instance method String#delete! (Ruby 2.6.0)
each_line
一行ずつ繰り返し処理する。
参考:
instance method String#each_line (Ruby 2.6.0)
lines
参考:
Ruby で文字列を改行コードで区切る | valid, invalid
instance method String#lines (Ruby 2.6.0)
各行を逆順に処理する
lines.each_line.reverse_each do |line| puts line end
参考:
instance method String#each_line (Ruby 2.6.0)
instance method Enumerable#reverse_each (Ruby 2.6.0)
How can I efficiently processing lines in a string in reverse order in Ruby? – Stack Overflow
index
文字列を順方向に探索する。
参考:
instance method String#index (Ruby 2.6.0)
rindex
文字列を逆方向に探索する。
参考:
instance method String#rindex (Ruby 2.6.0)
reverse / reverse!
文字の並びを逆順にする。
参考:
reverse, reverse! (String) | Ruby リファレンス (ref.xaio.jp)
文字列を逆順にする (reverse) | まくまく Ruby ノート
Ruby で文字列を部分的に反転させる | コンパイラかく語りき
instance method String#reverse (Ruby 2.6.0)
instance method String#reverse! (Ruby 2.6.0)
ord / chr
ord
:最初の文字のコードポイントを返す。chr
:最初の一文字を返す。もしくは、数値を文字に変換する。
参考:
Ruby で Integer と文字を相互変換する – Qiita
ord メソッドと chr メソッドで、1文字とコードポイントの変換 | コンパイラかく語りき
instance method String#ord (Ruby 2.6.0)
instance method String#chr (Ruby 2.6.0)
instance method Integer#chr (Ruby 2.6.0)
ord (String) | Rubyリファレンス (ref.xaio.jp)
Converting UTF-8 codepoints to characters | makandra dev
Ruby の ord メソッドは何の略称ですか? – スタック・オーバーフロー
codepoints / each_codepoint
参考:
Ruby で文字列の Unicode コードポイントと \uXXXX 表記用の 16 進数を得る | @kyanny’s blog
Ruby でコードポイントから絵文字に変換 | 尋常でないもふもふ
codepoints (String) | Rubyリファレンス (ref.xaio.jp)
instance method String#codepoints (Ruby 2.6.0)
instance method String#each_codepoint (Ruby 2.6.0)
pack / unpack
参考:
Ruby にて文字と Unicode コードポイントの相互変換を行う | vivid memo
instance method Array#pack (Ruby 2.6.0)
instance method String#unpack (Ruby 2.6.0)
instance method String#unpack1 (Ruby 2.6.0)
バイト列に変換する
unpack
を使う。
str.unpack("C*")
もしくは、bytes
を使う。
str.bytes
繰り返し処理をする場合は、each_byte
を使う。
str.each_byte do |b| puts b end
参考:
Ruby でバイナリ文字列を int に変換するやつの高速化 – Qiita
文字列中のバイトを取り出すにはどうすればよい? | teratail
ANSI エスケープシーケンスを取り除く
str.gsub(/\e[(d+)m/, "")
参考:
ANSI Escape Sequence の削除 – Qiita
Tips
参考:
How To Work with Strings in Ruby | DigitalOcean
Sterile
参考: