In Apex, I want to write a regular expression to do the following:
source string: abcdefg
output string: ab*****
source string: 123456789
output string: 12*******
source string: a123d
output string: a1***
What I have tried so far:
String t= "salesforce";
String r = t.replaceAll("\\w(?=\\w{2})", "*");
system.debug("==r=="+r);
output :
********ce
You can use the following code to make the trick:
String t= "salesforce";
String r = t.replaceAll("(?<=..).", "*");
System.out.println("output: "+r);
output:
output: sa********
Explanations:
(?<=..).
the regex will identify every character from the string respecting the constraint that there exist 2 character before it, this will work from the 3rd character until the end of the string as shown hereunder, then you just replace those characters by a *
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.