Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
35
Help us understand the problem. What is going on with this article?
@shizuma

ruby よく使うString型のメソッド

More than 5 years have passed since last update.

個人的によく使うString型のメソッドを備忘録として。

split

splitは引数を区切り文字に文字列を配列として返す。
urlの分解とかに便利。

url = "http://qiita.com/shizuma/items/d04facaa732f606f00ff"
url_ele = string.split('/')
#=> ["http:", "", "qiita.com", "shizuma", "items", "d04facaa732f606f00ff"]

slice

文字列の中から部分文字列を取り出せる。

s = "qiita.com"
puts s.slice(0, 5) # s[0, 5]でも同様に文字を切り出せる。
#qiita

include?

文字列の中に引数の文字列が含まれているかを調べる。

s = "qiita.com"
puts s.include?("qiita")
#true

gsub!、sub!

gsub!:正規表現のパターンにマッチした文字列の全置換。
なお、第一引数は「正規表現パターン」、第二引数は「置換文字列」。
ここでは第一引数の「正規表現パターン」として「通常文字列」のみを使用しました。

s = "qiita.com"
s.gsub!(/com/, 'jp')
#=> "qiita.jp"

また、gsubはパターンに該当する全てを置換するのに対してsubはパターンに該当するひとつだけを置換します。
つまり

s = "qiita.com"
s.sub!(/com/, 'jp')
#=> "qiita.jp"

subでもいいですね。

違いが出るのはパターンが複数のときです。

s = "qiita.comcom"
s.gsub!(/com/, 'jp')
#=> "qiita.jpjp"

s = "qiita.comcom"
s.sub!(/com/, 'jp')
#=> "qiita.jpcom"

strip

文字列の文頭と文末の空白削除

s = "  qiita  \r\n"
p s.strip
=> "qiita"

その他参照

http://ref.xaio.jp/ruby/classes/string (ruby1.9)
るりまサーチ

今後、追加していくかもしれません。

35
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
shizuma
web&DeepLearningエンジニア。 ACES.inc←東京大学大学院/東京←鹿児島/blog https://blog.seishin55.com ; Qiita https://qiita.com/shizuma ; note https://note.mu/seishin55
aces
ACES(エーシーズ)は、 画像認識を中心としたAIアルゴリズムの力で、リアル産業のDX(デジタルトランスフォーメーション)を推進し、シンプルな社会を実現する会社です。ヒトの働き方をデジタルの力で 自動化・効率化することで、誰もが生き生きと 生きられる社会を実現していきます。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
35
Help us understand the problem. What is going on with this article?