使用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
试试下面的方法,它甚至可以处理a@example.com 等短名称
'fakename@example.com'.gsub(/.{0,4}@/, '####@')
'fakename@example.com'.gsub(/.{4}@/, '####@')
=> fake####@example.com
但它不会处理短名称(a@example.com=>a@examp.com)
您可以使用Regex来匹配和替换电子邮件地址。在ruby中,只需查找四个连续字符并后跟@,并将替换字符串作为####@
Regex,这被认为是非常非常有效的。
将此Regex用于第一个匹配/[a-z.]{4}@/