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 回答