如何在rails中解析出字符串?我有提交身高的表格。示例:5'9我想要解析逗号,59保存在数据库
如果您想忽略除数字以外的任何内容,请使用此正则表达式
"5'9".gsub(/D/, '')
# => "59"
"5 9".gsub(/D/, '')
# => "59"
"5 feet 9 inches".gsub(/D/, '')
# => "59"
'5" 9'.gsub(/D/, '')
# => "59"
Regex说明:D
表示除数字以外的任何字符
有很多方法可以做到这一点。如果你只想去掉引号,你可以使用:
"5'9".gsub "'", ""
#=> "59"
或
"5'9".split("'").join("")
#=> "59"
如果你想在不同的属性中保存5和9,你可以尝试:
a = "5'9".split("'")
object.feet = a[0]
object.inches = a[1]
如果你想删除除数字以外的所有内容,你可以使用regex:
"5'9".gsub /[^d]/, ""
#=> "59"
如果您有不同的要求,请更新问题以添加更多细节。
您需要查看sub或gsub方法
height.gsub! "'", ''
其中sub
替换第一个实例,gsub
替换所有实例,您甚至可以在模型上这样做:
before_validation :remove_apostrophes # or before_save
protected
def remove_apostrophes
self.property.gsub! "'", ''
end