2014-11-07 3 views
1
내가

정규식

[email protected] 

에서 자바로 이메일 adress은 마스크 할

에서 *로 문자열의 일부를 마스크하는 방법 - 오직 첫번째하지 않고 로컬 이름을 마스크와 마지막 글자 와 나는 * 일치하는 일치하는 기호의 수

같은 표현이 필요합니다.

/^(.)(.*)(.)@(.*)$/  

각 기호를 *

으로 대체하십시오. Java로 어떻게 할 수 있습니까?

답변

2

당신은 String#replaceAll으로이 정규식을 사용할 수 있습니다 : 그것은 잘못주고있다

String email = "[email protected]"; 

String masked = email.replaceAll("(?<=.).(?=[^@]*[email protected])", "*"); 
//=> s********[email protected] 
+1

output.we는 완전히 대체 방법을 사용해야합니다. –

+0

맨 처음에만 3자를 보여줄 수있는 방법을 알려주시겠습니까? 나머지는 별표로 마스크가됩니다. – Plugie

+0

@Plugie : 사용 :'email = email.replaceAll ("(? <. {3}).", "*"), ' – anubhava