0

選択リストにあるいくつかの要素から番号を取得する手順に取り組んでいます。たとえば、「テスト要素 (100)」から、数値「100」を取得しようとしています。私はそれを行うためにこのコードを使用しました.2つの括弧の間の数字をキャッチします:

            before = Regexp.escape '('
            after = Regexp.escape ')'
            x = "test element (100)"[-5, 5].scan(/#{before}(.*?)#{after}/).flatten

このコードは機能し、X の値は 100 になります。しかし、この "100" は実際には配列です。

配列「100」を整数「100」に変換する方法を知っている人はいますか?

ありがとうございました。

4

3 に答える 3

1

使用しない理由:

"test element (100)"[/\d+/]

戻り値:

"100"

整数値が必要な場合は、次を使用します。

"test element (100)"[/\d+/].to_i
于 2012-08-30T18:49:18.603 に答える
1

なぜこれではないのですか?

x = "test element (100)"[/(?<=\()\d+(?=\))/].to_i # 100

例:

1.9.3-p194 :001 > "test element (100)"[/(?<=\()\d+(?=\))/].to_i
 => 100
1.9.3-p194 :002 > "test (250) other stuff"[/(?<=\()\d+(?=\))/].to_i
 => 250 
于 2012-08-30T15:15:34.477 に答える
0
x.first

あなたにそれを与えるべきです。

于 2012-08-30T15:05:03.613 に答える