转义 ruby 字符串中的特殊字符以匹配 Salesforce SOQL 要求

Escape special characters in ruby string to match Salesforce SOQL requirements

我正在为 Rails 应用程序开发 Salesforce 集成,我 运行 遇到了 searching/submitting 电子邮件联系人问题,其中包含“+”等特殊字符。

在 Salesforce 文档中,他们提到一些字符是保留的,需要在每个保留字符之前插入一个“\”。详情:https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_sosl_find.htm

鉴于“\”用于转义 Ruby 中的字符,我无法将“\”添加到没有 运行 的保留字符中,导致 Salesforce API。对于那些为 Rails 实施了 Salesforce 集成的人,你们是如何解决电子邮件中保留字符的问题的?谢谢!

您应该像这样转义字符串中的特殊字符 ? & | ! { } [ ] ( ) ^ ~ * : \ " ' + -

"email+special@example.net".gsub(/(\?|&|\||\!|\{|\}|\[|\]|\(|\)|\^|\~|\*|\:|\|\"|\'|\+|\-)/){|special| "\" + special }