Ruby on rails 在使用正则表达式查询Postgres DB中的字段之前,请删除该字段中的标点符号
我找不到这个问题的答案,我真的在努力解决这个问题,所以非常感谢任何帮助 我有一张公司表,其中一家公司是“摩根大通银行,N.a.” 我想删除名称中的所有标点符号(因此“摩根大通银行,N.A.”变为“摩根大通银行NA”) 这是我得到的最接近的结果:Ruby on rails 在使用正则表达式查询Postgres DB中的字段之前,请删除该字段中的标点符号,ruby-on-rails,regex,ruby,activerecord,Ruby On Rails,Regex,Ruby,Activerecord,我找不到这个问题的答案,我真的在努力解决这个问题,所以非常感谢任何帮助 我有一张公司表,其中一家公司是“摩根大通银行,N.a.” 我想删除名称中的所有标点符号(因此“摩根大通银行,N.A.”变为“摩根大通银行NA”) 这是我得到的最接近的结果: Company.where("replace(name, '.', '') ILIKE ?", "JPMorgan Chase Bank, N A%") => [#<Company:0x00007ff8
Company.where("replace(name, '.', '') ILIKE ?", "JPMorgan Chase Bank, N A%")
=> [#<Company:0x00007ff8201f2b90 id: 25, name: "JPMorgan Chase Bank, N.A.", created_at: Mon, 31 May 2021 09:26:57 UTC +00:00, updated_at: Mon, 31 May 2021 09:26:57 UTC +00:00>]
我似乎不知道如何用单个字符替换一系列字符,明白了吗
Company.where("regexp_replace(name, '[[:punct:]]', '', 'g') ILIKE ?", "JPMorgan Chase Bank NA%")
我需要使用regexp\u replace
,并且需要添加g
作为它的最终参数
这是一个令人头痛的问题——我希望你已经找到了解决问题的办法
Company.where("regexp_replace(name, '[[:punct:]]', '', 'g') ILIKE ?", "JPMorgan Chase Bank NA%")