0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Ruby】◯番目から最後までの文字列を取得する

Last updated at Posted at 2022-09-16

環境

Rails 6.0.1
Ruby 2.6.3
PostgreSQL 11.16

String[]

[]の中にRangeオブジェクトを指定できる。
str[f..-1]は「f文字目から文字列の最後まで」を表す慣用句

message = 'こんにちは、山田さん'

message[2 .. -1] 
=> "にちは、山田さん"

ハッシュタグ検索を実装したいときに使えそう

keywords = '#今日のコーデ'

if keywords.start_with?('#')
  search_keywords = keywords[1..-1]
end
# 検索の処理が続く

追記①

コメントで教えていただきましたが、
Ruby 2.6 以降なら「終端の無い Range リテラル」が使えるため下記のように書ける。
(Ruby 2.6 系は公式サポートが終了しているので注意)

keywords = '#今日のコーデ'

if keywords.start_with?('#')
  search_keywords = keywords[1..]
end
# 検索の処理が続く

追記②

コメントで教えていただきましたが、delete_prefixを使ったほうが処理がわかりやすくて良さそう。

keywords = '#今日のコーデ'

if keywords.start_with?('#')
  search_keywords = keywords.delete_prefix('#')
end
# 検索の処理が続く

参考

0
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?