2

使用ruby在电子邮件地址的@符号之前隐藏4个字符的最佳方法是什么

fakename@example.com = fake####@example.com 

当我显示推荐列表并且我不想显示整个地址时,它将在视图中使用。

我的长途尝试:

name = 'fakename@example.com'.split("@")[0]
email = 'fakename@example.com'.split("@")[1]
new_address = name [0..-4] + "@" + email
4

3 回答 3

6

试试下面的方法,它甚至可以处理像 a@example.com 这样的短名称

'fakename@example.com'.gsub(/.{0,4}@/, '####@')
于 2013-08-13T11:21:30.647 回答
1
'fakename@example.com'.gsub(/.{4}@/, '####@')
 => fake####@example.com

但它不会处理短名称(a@example.com => a@example.com)

于 2013-08-13T10:44:33.260 回答
0

您可以使用正则表达式来匹配和替换电子邮件地址。只需找到四个连续的字符,后跟一个 @ 并将替换字符串作为####@ruby​​ 中的 Regex 被认为是非常有效的。

在第一场比赛中使用这个正则表达式/[a-z.]{4}@/

于 2013-08-13T10:44:17.633 回答