1. ホーム
  2. ruby

[解決済み] Rubyで部分文字列をx文字分取得する

2022-03-07 11:26:15

質問

ある文字列を受け取り、その末尾から文字数をx個取り除いた新しい文字列を返すRubyのコードを作成しようとしています。

例:次のような文字列がある場合

a_string = "a1wer4zx"

同じ文字列から、例えば最後の3文字を除いたものを取得する簡単な方法が必要です。上記の場合、それは "a1wer"でしょう。今やっている方法は、非常に複雑なようです。

an_array = a_string.split(//,(a_string.length-2))
an_array.pop
new_string = an_array.join

何かアイデアはありますか?

解決方法は?

こんなのはどうでしょう?

s[0, s.length - 3]

またはこれ

s[0..-4]

編集

s = "abcdefghi"
puts s[0, s.length - 3]  # => abcdef
puts s[0..-4]            # => abcdef