我的帐号有09
或10
或11
位数字。帐号从数据库动态加载。
我想显示327231123
xxxxx1123
或32145678910
xxxxxxx8910
。
我想用"x"替换所有数字,留下最后四位数字。
帐号数据类型为String
你可以像这样使用String.replaceAll
方法:
public static void main(String[] args) {
System.out.println("327231123".replaceAll("\d{5}", "*****"));
}
尝试如下:
String xs = new String(new char[accountNumber.length() - 4]).replace(" ", "X");
String lastFourDigit = accountNumber.substring(accountNumber.length() - 4);
String result = xs + lastFourDigit
示例:输入:327231123
输出:XXXXX1123
研究 String#replace() 方法。
您也可以尝试使用简单的 for 循环。
String accountNumber = "327231123";
String replacedByX = "";
for(int i = 0; i < accountNumber.length() - 4; i++) {
replacedByX += "x";
}
replacedByX += accountNumber.substring(accountNumber.length() - 4);
http://ideone.com/sd11nY