我想在maskEmail
函数中掩盖传入的电子邮件。目前我遇到了一个问题,即当我替换模式中的第2个和第4个组时,星号*
没有重复。
这是我的代码:
fun maskEmail(email: String): String {
return email.replace(Regex("(\\w)(\\w*)\\.(\\w)(\\w*)(@.*\\..*)$"), "$1*.$3*$5")
}
以下是输入内容:
tom.cat@email.com
cutie.pie@email.com
captain.america@email.com
这是代码的当前输出结果:
t*.c*@email.com
c*.p*@email.com
c*.a*@email.com
预期输出:
t**.c**@email.com
c****.p**@email.com
c******.a******@email.com
编辑: 我知道这可以很容易地通过for循环完成,但我需要用正则表达式完成。谢谢。
my-cutie.pie+here@email.com
?我认为在这种情况下,您不能仅依赖单词字符检查。 - Wiktor Stribiżew