2016-09-30 65 views
1

我试图在用户尝试重置密码时隐藏我的视图中域名部分的电子邮件,我使用的是gsub,但我遇到了2个字符联合的问题。隐藏电子邮件域名的一部分

例如:

​​

我得到了这样的结果:

"my###\#@example.com" 

我不想,在##的中间\,我进入控制台,如果我只是写'#@' 我得到了"\#@",我不知道如何逃避这些角色。

这种方法我也有问题,如果域少于4个字母,我仍然把4'#'在域中。但我最关心的是'#@'的交汇点。

回答

0

如果@,为@example一部分,不逃脱,被'#'之前,红宝石插入实例变量的值@example

假设:

@example = 'hi' 
"my####@example.com" #=> "my###.com" 

如果没有实例变量@example,引用它返回nil,将其转化为空字符串。

"my####@example.com" #=> "my###.com" 

这也可以使用全局变量来完成:

$example = 'ho' 
"my####$example.com" #=> "my###ho.com" 

,并用类变量:

@@example = 'hum' 
"my####@@example.com" #=> "my###hum.com" 
+0

感谢您的回答 –