gpt4 book ai didi

regex - 从 Rails 3 中的 JSON 响应中剥离数字?

转载 作者:搜寻专家 更新时间:2023-10-30 21:52:07 24 4
gpt4 key购买 nike

我的 Rails 3 应用程序收到了一个 JSON post。然后我解析每个值并将它们插入到应用程序数据库中。一切正常,但现在我想在将接收到的值插入数据库之前修改它们。

:subject => email_payload['subject']

如上面的代码所示,我将接收到的“subject”值插入到名为“subject”的列中。

在上面的例子中,接收到的值是这样的:

Results from Example Company - Surname/Firstname/[12345]

我想做的是去掉 [] 之间的数值以外的所有内容。所以插入数据库的值很简单:

12345

据推测,我可以只选择 0-9 中的任何内容,但如何将正则表达式添加到接收到的字符串中?

以下似乎都不起作用:

['subject.gsub!([0-9])']
['subject'.gsub!([0-9])]
['subject'].gsub!([0-9])

我在这里测试了 Regex http://rubular.com/r/AVFkm3A440

最佳答案

由于您将 .gsub() 应用于散列键 email_payload['subject'] 返回的值,该方法属于链接在结束 ].

您的正则表达式缺少 / 分隔符。要捕获整个组,请添加 +,如 /[^0-9]+/^ 将匹配所有非数字字符,然后 .gsub() 将用空字符串替换它们。所以下面的模式将改变键 email_payload['subject'] 到位

email_payload['subject'] = 'Results from Example Company - Surname/Firstname/[12345]'

email_payload['subject'].gsub!(/[^0-9]+/, '')
>> "12345"
# gsub!() has mutated the value:
puts email_payload['subject']
>> 12345

关于regex - 从 Rails 3 中的 JSON 响应中剥离数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13108884/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com