有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java子字符串,并用相应的特殊字符替换它

我正在开发短信相关模块,我需要以加密方式向消费者发送短信,比如: “OTP已发送至*******632号和电子邮件id jac*********@gmail.com。” 我处理了手机号码,但我想用下面的方式加密电子邮件id

jacknjill356@gmail.com 
to
jac********@gmail.com

但我发现的解决方案不是最优的。。。 我观察到 “jac”是一个字符串和 “@gmail。com'作为第二个字符串和 我用特殊字符“*”替换了左边的第三部分,并连接了所有三个字符,但这不是很好的编程实践

有没有办法用正则表达式的概念来实现这一点,所以我只想在“@”符号之前替换字符串。 请给我推荐最好的


共 (1) 个答案

  1. # 1 楼答案

    这将实现以下目的:

    String email = "myemailadress@gmail.com";
    System.out.println(email.replaceAll("(^[^@]{3}|(?!^)\\G)[^@]", "$1*"));
    
    //Output : mye********@gmail.com