String クラス

参考:

class String | Ruby リファレンスマニュアル [公式]

使い方

参考:

How To Work with String Methods in Ruby | DigitalOcean

length / size

参考:

String#length | Ruby リファレンスマニュアル [公式]

slice

参考:

String#[] | Ruby リファレンスマニュアル [公式]

string slice index: str[n..infinity] – Stack Overflow

[]=

文字列の一部を置き換える。

参考:

String#[]= | Ruby リファレンスマニュアル [公式]

rstrip / rstrip!

rstrip は末尾の改行を取り除いた新しい文字列を返す。

rstrip! はレシーバ自身の文字列から末尾の改行を取り除く。変更があった場合はレシーバ自身を、変更がない場合は nil を返す。

参考:

String#rstrip | Ruby リファレンスマニュアル [公式]

String#rstrip! | Ruby リファレンスマニュアル [公式]

chomp / chomp!

参考:

String#chomp | Ruby リファレンスマニュアル [公式]

String#chomp! | Ruby リファレンスマニュアル [公式]

末尾の1文字ではなく、指定した文字列を取り除きたい。| teratail

chop / chop!

参考:

String#chop | Ruby リファレンスマニュアル [公式]

String#chop! | Ruby リファレンスマニュアル [公式]

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

strip / strip!

参考:

String#strip | Ruby リファレンスマニュアル [公式]

String#strip! | Ruby リファレンスマニュアル [公式]

start_with?

str.start_with?("prefix")

文字列の先頭が引数 prefix の文字列で始まっていれば true、そうでなければ false を返す。

参考:

String#start_with? | Ruby リファレンスマニュアル [公式]

Ruby の文字列マッチ判定のパフォーマンス | Yuichi Takada

end_with?

str.end_with?("suffix")

文字列の末尾が引数 suffix の文字列で終わっていれば true、そうでなければ false を返す。

参考:

String#end_with? | Ruby リファレンスマニュアル [公式]

casecmp

str.casecmp(other_str)

大文字小文字の区別をしないで比較する。

参考:

String#casecmp | Ruby リファレンスマニュアル [公式]

upcase / upcase!

参考:

String#upcase | Ruby リファレンスマニュアル [公式]

String#upcase! | Ruby リファレンスマニュアル [公式]

downcase / downcase!

参考:

String#downcase | Ruby リファレンスマニュアル [公式]

String#downcase! | Ruby リファレンスマニュアル [公式]

連結

参考:

Ruby の文字列連結に関して知っておくべきこと – Qiita

Ruby での文字列出力に「#+」ではなく式展開「#{}」を使うべき理由 | TechRacho

Ruby で文字列を連結・追加するメソッド「+」「concat」を使い分ける | レビューログ

文字列の繰り返し

参考:

文字列を指定の回数繰り返した新しい文字列を作成 | Let’s プログラミング (javadrive.jp)

split

参考:

String#split | Ruby リファレンスマニュアル [公式]

delete_prefix / delete_prefix!

参考:

String#delete_prefix | Ruby リファレンスマニュアル [公式]

String#delete_prefix! | Ruby リファレンスマニュアル [公式]

delete_suffix / delete_suffix!

参考:

String#delete_suffix | Ruby リファレンスマニュアル [公式]

String#delete_suffix! | Ruby リファレンスマニュアル [公式]

部分的に削除する

部分的に取り除く、もしくは、部分的に取り出す操作に使うメソッド

  • 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

参考:

String#ljust | Ruby リファレンスマニュアル [公式]

String#rjust | Ruby リファレンスマニュアル [公式]

delete / delete!

参考:

String#delete | Ruby リファレンスマニュアル [公式]

String#delete! | Ruby リファレンスマニュアル [公式]

each_line

一行ずつ繰り返し処理する。

参考:

String#each_line | Ruby リファレンスマニュアル [公式]

lines

参考:

Ruby で文字列を改行コードで区切る | valid, invalid

String#lines | Ruby リファレンスマニュアル [公式]

各行を逆順に処理する

lines.each_line.reverse_each do |line|
  puts line
end

参考:

String#each_line | Ruby リファレンスマニュアル [公式]

Enumerable#reverse_each | Ruby リファレンスマニュアル [公式]

How can I efficiently processing lines in a string in reverse order in Ruby? – Stack Overflow

index

文字列を順方向に探索する。

参考:

String#index | Ruby リファレンスマニュアル [公式]

rindex

文字列を逆方向に探索する。

参考:

String#rindex | Ruby リファレンスマニュアル [公式]

reverse / reverse!

文字の並びを逆順にする。

参考:

文字列を逆順にする (reverse) | まくまく Ruby ノート

Ruby で文字列を部分的に反転させる | コンパイラかく語りき

String#reverse | Ruby リファレンスマニュアル [公式]

String#reverse! | Ruby リファレンスマニュアル [公式]

変換

  • to_i:整数に変換する
  • to_f:浮動小数点型に変換する
  • to_sym:シンボル値に変換する

参考:

String#to_i | Ruby リファレンスマニュアル [公式]

String#to_f | Ruby リファレンスマニュアル [公式]

String#intern | Ruby リファレンスマニュアル [公式]

ord / chr

  • ord:最初の文字のコードポイントを返す。
  • chr:最初の一文字を返す。もしくは、数値を文字に変換する。

参考:

Ruby で Integer と文字を相互変換する – Qiita

ord メソッドと chr メソッドで、1文字とコードポイントの変換 | コンパイラかく語りき

String#ord | Ruby リファレンスマニュアル [公式]

String#chr | Ruby リファレンスマニュアル [公式]

Integer#chr | Ruby リファレンスマニュアル [公式]

Converting UTF-8 codepoints to characters | makandra dev

Ruby の ord メソッドは何の略称ですか? – スタック・オーバーフロー

codepoints / each_codepoint

参考:

Ruby で文字列の Unicode コードポイントと \uXXXX 表記用の 16 進数を得る | @kyanny’s blog

Ruby でコードポイントから絵文字に変換 | 尋常でないもふもふ

String#codepoints | Ruby リファレンスマニュアル [公式]

String#each_codepoint | Ruby リファレンスマニュアル [公式]

pack / unpack

参考:

Ruby にて文字と Unicode コードポイントの相互変換を行う | vivid memo

pack テンプレート文字列 | Ruby リファレンスマニュアル [公式]

Array#pack | Ruby リファレンスマニュアル [公式]

String#unpack | Ruby リファレンスマニュアル [公式]

String#unpack1 | Ruby リファレンスマニュアル [公式]

バイト列に変換する

unpack を使う。

str.unpack("C*")

もしくは、bytes を使う。

str.bytes

繰り返し処理をする場合は、each_byte を使う。

str.each_byte do |b|
  puts b
end

参考:

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

String#bytes | Ruby リファレンスマニュアル [公式]

文字列中のバイトを取り出すにはどうすればよい? | 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

タグ:

コメントを残す

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