我正在为想要从文本字段中过滤电子邮件地址的客户工作,在该字段中分析每个文本并将电子邮件地址替换为#####$$$$
.
感谢您提前提供的帮助。
我正在为想要从文本字段中过滤电子邮件地址的客户工作,在该字段中分析每个文本并将电子邮件地址替换为#####$$$$
.
感谢您提前提供的帮助。
您可以在带有正则表达式的文本中找到所有电子邮件地址,例如/\S*\@\S*/
(在 Rubular 上测试,可能并不完美),然后用您选择的任何内容替换所有匹配项。
email_regex = /\S*\@\S*/
text = "This is test@example.com test string. Regex is regex@example.co.uk amazing."
result = text.gsub(email_regex, 'email_has_been_replaced')
p result
# => "This is email_has_been_replaced test string. Regex is email_has_been_replaced amazing."
在 ActiveRecord 模型中:
class Post < AR::B
EMAIL_REGEX = /\S*\@\S*/
before_validation :remove_email_addresses_from_body
private
def remove_email_addresses_from_body
self.body = body.gsub(EMAIL_REGEX, 'hidden_email')
end
end