【发布时间】:2018-09-21 16:29:25
【问题描述】:
我正在 MyTable 中搜索匹配值。
name to search for -> This-is-a (test/with/time)
The name from DB table -> "this-is-a-test-with/time"
如果我可以同时获得列值和搜索值以匹配这样的内容 -> "thisisatestwithtime" 忽略所有特殊字符和空格。
value = This-is-a (test/with/time)
MyTable.where("upper(name) = upper(?)",value.to_s.scan(/[0-9a-z]/i).join("")).first
这会将值转换为删除所有特殊字符的形式,但如何在表中的值上运行相同的值?
【问题讨论】:
-
您是否期望搜索
a-b会找到ab-cd,因为没有-它会搜索ab并匹配abcd?还是应该a-b只找到像a-b-cd这样的字符串?
标签: sql ruby-on-rails ruby regex postgresql