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!

行末から改行文字を取り除く。

str = line.chompCode language: Ruby (ruby)

ドキュメント:

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")Code language: Ruby (ruby)

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

ドキュメント:

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

参考:

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

end_with?

str.end_with?("suffix")Code language: Ruby (ruby)

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

ドキュメント:

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

casecmp

str.casecmp(other_str)Code language: Ruby (ruby)

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

ドキュメント:

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

upcase / upcase!

ドキュメント:

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

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

downcase / downcase!

ドキュメント:

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

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

連結

参考:

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

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

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

文字列の繰り返し

参考:

文字列を指定の回数繰り返した新しい文字列を作成 | JavaDrive

split

ドキュメント:

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

join

ドキュメント:

Array#join | 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!

文字列から文字を削除するメソッドまとめ | 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 – Stack Overflow

クォーテーションを取り除く

参考:

How to strip leading and trailing quote from string – Stack Overflow

Remove double quotes from string – Stack Overflow

括弧を取り除く

参考:

How do I strip parenthesis from a string? – 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 リファレンスマニュアル [公式]

each_char

一文字ずつ処理する。

ドキュメント:

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

each_byte

1バイトずつ処理する。

ドキュメント:

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

参考:

文字列を1文字ずつ処理する | 逆引き Ruby

lines

ドキュメント:

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

参考:

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

chars

参考:

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

各行を逆順に処理する

lines.each_line.reverse_each do |line|
    puts line
endCode language: Ruby (ruby)

ドキュメント:

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!

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

ドキュメント:

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

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

参考:

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

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

変換

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

ドキュメント:

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

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

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

ord / chr

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

ドキュメント:

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

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

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

参考:

整数と文字を相互変換する – Qiita

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

Converting UTF-8 Codepoints to Characters | makandra dev

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

codepoints / each_codepoint

ドキュメント:

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

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

参考:

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

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

pack / unpack

ドキュメント:

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

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

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

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

参考:

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

空行を削除する

lines.gsub!(/^\n/, "")Code language: Ruby (ruby)

参考:

文書ファイルを読み込んだときに空白行を削除したい | OKE2GOU

バイト列に変換する

unpack を使う。

str.unpack("C*")Code language: Ruby (ruby)

もしくは、bytes を使う。

str.bytesCode language: Ruby (ruby)

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

str.each_byte do |b|
    puts b
endCode language: Ruby (ruby)

ドキュメント:

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

参考:

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

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

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

str.gsub(/\e[(d+)m/, "")Code language: Ruby (ruby)

参考:

ANSI エスケープシーケンスの削除 – Qiita

まとめ/Tips

How to Work with Strings in Ruby | DigitalOcean

Always Use Double-quoted Strings in Ruby | Anti-pattern

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

記事をシェアする:
タグ:

コメントを残す

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

Protected by reCAPTCHA