/****************************************************************************** * This program masks all but the last four digits if a credit card number. * * Copyright © 2021 Richard Lesh. All rights reserved. *****************************************************************************/ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.regex.Pattern; import org.pureprogrammer.Utils; public class CreditCardMask { static final List TEST_CASES = Utils.listFromStrings(new String[]{"1234 5678 9012 3456", "4893 8573 0203 1929", "6992 2839 4929 3902"}); static String maskCreditCard(String cardNumber) { return Pattern.compile("\\d{4,4} ").matcher(cardNumber).replaceAll("XXXX "); } public static void main(String[] args) { for (String s : TEST_CASES) { System.out.println(maskCreditCard(s)); } } }