本文介绍了如何在正则表达式中掩码*的部分字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想从Java中屏蔽电子邮件地址
[email protected]
至
s ** ******[email protected]
- 屏蔽本地名称,不必只有第一个和最后一个字母
我想要匹配数量的替换符号数量
我需要一些表达式,如
/^(.)(.*)(.)@(.*)$/
并在第2部分中用*
替换每个符号我如何在Java中执行此操作?
解决方案
您可以使用这个正则表达式与 String#replaceAll
:
String email [email protected];
String masked = email.replaceAll((?< =。)。(?= [^ @] *?。@),*);
// => s $ o
$ / code $I want to mask email adress in Java from
[email protected]
to
s********[email protected]
- mask local name without only first and last letterand i want to number of * match amount of replaced symbols
I need some expression like
/^(.)(.*)(.)@(.*)$/
and replace in part 2 each symbols with *
How can i do this in Java?
解决方案 You can use this regex with String#replaceAll
:
String email = "[email protected]";
String masked = email.replaceAll("(?<=.).(?=[^@]*?.@)", "*");
//=> s********[email protected]
这篇关于如何在正则表达式中掩码*的部分字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!