tisdag 12 november 2013

Padding and Masking


Padding and Masking in Groovy vs Java.
Example with zero padding:

       


    
JAVA:

public static String addPreceedingZeros(String str, int len)
    {
        if (str == null)
        {
            return null;
        }
        StringBuilder buf = new StringBuilder(str);
        while (buf.length() < len)
        {
            buf.insert(0, "0");
        }
        return buf.toString();
    }

GROOVY:

def str = '5';
str = str.padLeft(5,'0')



Example with credit card mask:


       

JAVA:

public static String maskCardNumber(String cardNumber, String mask) {

    // format the number
    int index = 0;
    StringBuilder maskedNumber = new StringBuilder();
    for (int i = 0; i &lt; mask.length(); i++) {
        char c = mask.charAt(i);
        if (c == '#') {
            maskedNumber.append(cardNumber.charAt(index));
            index++;
        } else if (c == 'x') {
            maskedNumber.append(c);
            index++;
        } else {
            maskedNumber.append(c);
        }
    }

    // return the masked number
    return maskedNumber.toString();
}

println maskCardNumber("1234123412341234", "*************####")

GROOVY:

def card_number = "1234123412341234"
card_number.replaceFirst('.*(?=.{4})', { match ->; return "".padLeft(match.length(), '*')});

Inga kommentarer:

Skicka en kommentar