gpt4 book ai didi

ruby - 从字符串中提取并替换电子邮件和电话号码

转载 作者:数据小太阳 更新时间:2023-10-29 07:59:49 26 4
gpt4 key购买 nike

我需要在字符串中隐藏电子邮件和电话号码。使用正则表达式可以轻松替换格式良好的电子邮件/号码,但其他格式呢?这是一个例子:

输入:

电子邮件地址,如email@example.comemail AT example DOT com应该被替换。电话号码如347 323 4567树四七,三二三四五六七也应该替换。

输出:

电子邮件地址,例如(隐藏电子邮件)(隐藏电子邮件)应该被替换。电话号码,如(电话隐藏)(电话隐藏)也应该被替换。

AirBnB 的消息系统非常擅长这方面的工作。 Apparently they used to do that:

It looks for @ symbols, spellings of “this is me AT whatever DOT com” and series of numbers with at least 7 digits (telephone number) with some sensitivity to separators.

做同样事情的最佳方法是什么?编写复杂的正则表达式?使用自然语言处理库?

最佳答案

这在代码中不容易做到,并且可能会给您的用户和您的客户支持人员带来不愉快的后果。

Phone numbers can be entered in a large number of formats if you allow for international numbers .

123-446-7890 可以是电话号码,也可以是简单的减法,例如 x=123-456-7890。想象一下当您的用户收到 x=(phone hidden) 时会有多恼火。

电子邮件地址是一个更难的问题,因为 they can vary in all sorts of ways .您可以通过阅读 RFC 2822 获得电子邮件地址的规范,并且在 Perl's Mail::RFC822::Address module 中始终有一个。虽然大多数人都尝试使用模式来验证地址,但仅仅定位它们可能很难看。

在任何一种情况下,都有正则表达式模式尝试这样做,但在用力插入时它们都会失败。

对我来说,这听起来像是一个不知情的高管提出的一个考虑不周的想法,类似于请求

Write a filter that removes all dirty words.

我曾经收到过。 (是的,对。来自地球上所有的书面和口头语言,或者仅仅是人类使用这些词的愿望?)它很容易变通,而且,对于很多人来说,只是打败它就是一个挑战。

关于ruby - 从字符串中提取并替换电子邮件和电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25068634/

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