String クラス

参考:

class String (Ruby 2.6.0)

使い方

参考:

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)

文字列の最後の文字を取り除きたい | teratail

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」を使い分ける | レビューログ

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 Tips!

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

pack テンプレート文字列 (Ruby 2.6.0)

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

参考:

bytes (String) – Rubyリファレンス

Ruby でバイナリ文字列を int に変換するやつの高速化 – Qiita

文字列中のバイトを取り出すにはどうすればよい? | teratail

ANSI エスケープシーケンスを取り除く

str.gsub(/\e[(d+)m/, "")

参考:

ANSI Escape Sequence の削除 – Qiita

Tips

参考:

How To Work with Strings in Ruby | DigitalOcean

Sterile

参考:

pbhogan/sterile: A Ruby gem that helps you sterilize your strings, transliterate, properly titlecase, generate slugs, smart format, strip tags, encode/decode entities and more. – GitHub

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です