0

次の文字列があります。

expression_patterns_attributes_2_location_attributes_PTN_PATTERN

「expression_patterns_attributes_」の後の数値のみを抽出する必要があります

私は次のことをしました:

<%= string_a = "expression_patterns_attributes_2_location_attributes_PTN_PATTERN"
<% z_index1 = string_a.slice! "expression_patterns_attributes_" %>
<% z_index2 = string_a.slice! "_location_attributes_PTN_PATTERN"     %>
<%= string_a %> yields '2'

文字列から数値を抽出するより適切な方法はありますか?

ご提案ありがとうございます

4

2 に答える 2

2
s = 'expression_patterns_attributes_2_location_attributes_PTN_PATTERN'
s[/\d+/] # => "2"
于 2012-09-25T16:45:13.993 に答える
1

string_a が常に正しい形式であると確信している場合:

string_a.split("_")[3]
于 2012-09-25T16:44:20.907 に答える