有时,项目中一些用户名要求显示如:t***t,即用户名只显示第一个和最后一个字符,中间用*表示,可使用方法如下:
public static void main(String[] args) {
String a = "testtest";
char[] c = a.toCharArray();
StringBuffer sb = new StringBuffer();
sb.append(String.valueOf(c[0]));
for (int i = 1; i < c.length-1; i++) {
String aa = String.valueOf(c[i]).replaceAll(String.valueOf(c[i]), "*");
sb.append(aa);
}
sb.append(String.valueOf(c[c.length-1]));
// sb.append(String.valueOf(a.charAt(0)));
// for (int i = 1; i < a.length()-1; i++) {
// sb.append(String.valueOf(a.charAt(i)).replaceAll(String.valueOf(a.charAt(i)), "*"));
// }
// sb.append(String.valueOf(a.charAt(a.length()-1)));
System.out.println(sb.toString());
}
欢迎补充!