Example usage for org.apache.commons.lang3 StringUtils replaceEach

List of usage examples for org.apache.commons.lang3 StringUtils replaceEach

Introduction

In this page you can find the example usage for org.apache.commons.lang3 StringUtils replaceEach.

Prototype

public static String replaceEach(final String text, final String[] searchList, final String[] replacementList) 

Source Link

Document

Replaces all occurrences of Strings within another String.

Usage

From source file:com.adguard.filter.rules.UrlFilterRule.java

/**
 * Creates regexp from url rule text//from   ww w . j a v a2 s  .c om
 *
 * @param urlRuleText Url rule text
 * @return Regexp
 */
private String createRegexFromRule(String urlRuleText) {
    // Replacing regex special symbols
    String regexText = StringUtils.replaceEach(urlRuleText,
            new String[] { "?", ".", "+", "[", "]", "(", ")", "{", "}", "#", " ", "\\", "$" },
            new String[] { "\\?", "\\.", "\\+", "\\[", "\\]", "\\(", "\\)", "\\{", "\\}", "\\#", "\\ ", "\\\\",
                    "\\$" });

    regexText = regexText.substring(0, MASK_START_URL.length()) + StringUtils
            .replace(regexText.substring(MASK_START_URL.length(), regexText.length() - 1), "|", "\\|")
            + regexText.substring(regexText.length() - 1);
    // Replacing special url masks
    regexText = StringUtils.replace(regexText, MASK_ANY_SYMBOL, REGEXP_ANY_SYMBOL);
    regexText = StringUtils.replace(regexText, MASK_SEPARATOR, REGEXP_SEPARATOR);
    if (regexText.startsWith(MASK_START_URL)) {
        regexText = REGEXP_START_URL + regexText.substring(MASK_START_URL.length());
    } else if (regexText.startsWith(MASK_PIPE)) {
        regexText = REGEXP_START_STRING + regexText.substring(MASK_PIPE.length());
    }
    if (regexText.endsWith(MASK_PIPE)) {
        regexText = regexText.substring(0, regexText.length() - 1) + REGEXP_END_STRING;
    }

    return regexText;
}

From source file:de.vandermeer.asciithemes.u8.U8_NumberingSchemes.java

/**
 * Numbering scheme for Roman number literals using upper case UTF-8 Number Forms upper case characters.
 * //from  w  ww .j a v  a2  s.co  m
 * ----
 *  item 1
 *  item 2
 *  item 3
 * ...
 *  item 4000
 * ----
 * 
 * @return the line
 */
public static TA_Numbering RomanNumberForms() {
    return new TA_Numbering() {
        /** Standard Roman literals. */
        String[] from = new String[] { "M", "D", "C", "L", "XII", "XI", "X", "VIII", "VII", "VI", "V", "III",
                "II", "I" };

        /** UTF character replacements. */
        String[] to = new String[] { "", "", "", "", "", "", "", "", "", "",
                "", "", "", "" };

        @Override
        public String getNumber(int number) {
            Validate.validState(0 < number && number < 4001,
                    "numbering supported 0<number<4001 - number was: " + number);
            String literal = Integer_To_RomanLiteral.convert(number);
            literal = literal.replace("IV", "");
            literal = literal.replace("IX", "");
            return StringUtils.replaceEach(literal, from, to);
        }

        @Override
        public int getMinNumber() {
            return 1;
        }

        @Override
        public int getMaxNumber() {
            return 4000;
        }

        @Override
        public String getDescription() {
            return "Numbering scheme for Roman number literals using upper case UTF-8 Number Forms upper case characters.";
        }
    };
}

From source file:de.vandermeer.asciithemes.u8.U8_NumberingSchemes.java

/**
 * Numbering scheme for Roman number literals using lower case UTF-8 Number Forms lower case characters.
 * //from  w  w w.  j  av  a2 s.c o  m
 * ----
 *  item 1
 *  item 2
 *  item 3
 * ...
 *  item 4000
 * ----
 * 
 * @return the line
 */
public static TA_Numbering romanNumberForms() {
    return new TA_Numbering() {
        /** Standard Roman literals. */
        String[] from = new String[] { "M", "D", "C", "L", "XIII", "XII", "XI", "X", "VIII", "VII", "VI", "V",
                "III", "II", "I" };

        /** UTF character replacements. */
        String[] to = new String[] { "", "", "", "", "", "", "", "", "", "",
                "", "", "", "", "" };

        @Override
        public String getNumber(int number) {
            Validate.validState(0 < number && number < 4001,
                    "numbering supported 0<number<4001 - number was: " + number);
            String literal = Integer_To_RomanLiteral.convert(number);
            literal = literal.replace("IV", "");
            literal = literal.replace("IX", "");
            return StringUtils.replaceEach(literal, from, to);
        }

        @Override
        public int getMinNumber() {
            return 1;
        }

        @Override
        public int getMaxNumber() {
            return 4000;
        }

        @Override
        public String getDescription() {
            return "Numbering scheme for Roman number literals using lower case UTF-8 Number Forms lower case characters.";
        }
    };
}

From source file:de.vandermeer.asciithemes.u8.U8_NumberingSchemes.java

/**
 * Numbering scheme for Roman number literals using upper case UTF-8 Number Circled Latin Capital (upper case) characters.
 * //from w  w  w .  j a  v a 2  s  .  co m
 * ----
 *  item 1
 *  item 2
 *  item 3
 * ...
 *  item 4000
 * ----
 * 
 * @return the line
 */
public static TA_Numbering RomanCircledLatinCapital() {
    return new TA_Numbering() {
        /** Standard Roman literals. */
        String[] from = new String[] { "M", "D", "C", "L", "X", "V", "I" };

        /** UTF character replacements. */
        String[] to = new String[] { "", "", "", "?", "?", "", "" };

        @Override
        public String getNumber(int number) {
            Validate.validState(0 < number && number < 4001,
                    "numbering supported 0<number<4001 - number was: " + number);
            return StringUtils.replaceEach(Integer_To_RomanLiteral.convert(number), from, to);
        }

        @Override
        public int getMinNumber() {
            return 1;
        }

        @Override
        public int getMaxNumber() {
            return 4000;
        }

        @Override
        public String getDescription() {
            return "Numbering scheme for Roman number literals using upper case UTF-8 Circled Latin Capital (upper case) characters.";
        }
    };
}

From source file:com.tugo.dt.PojoUtils.java

@SuppressWarnings("StringEquality")
private static <T> Object createGetter(Class<?> pojoClass, String getterExpr, String exprObjectPlaceholder,
        Class<?> exprClass, Class<T> getterClass) {
    if (getterExpr.startsWith(".")) {
        getterExpr = getterExpr.substring(1);
    }/*ww  w  .  ja  v  a2s  .  c  om*/

    if (getterExpr.isEmpty()) {
        throw new IllegalArgumentException("The getter expression: \"" + getterExpr + "\" is invalid.");
    }

    logger.debug("{} {} {} {} {}", pojoClass, getterExpr, exprClass, exprObjectPlaceholder, getterClass);

    IScriptEvaluator se;

    try {
        se = CompilerFactoryFactory.getDefaultCompilerFactory().newScriptEvaluator();
    } catch (Exception ex) {
        throw new RuntimeException(ex);
    }

    String code = StringUtils.replaceEach(getterExpr, new String[] { exprObjectPlaceholder },
            new String[] { new JavaStatement(pojoClass.getName().length() + OBJECT.length() + 4)
                    .appendCastToTypeExpr(pojoClass, OBJECT).toString() });
    if (code != getterExpr) {
        code = new JavaReturnStatement(exprClass.getName().length() + code.length() + 12, exprClass)
                .append(code).getStatement();
        logger.debug("Original expression {} is a complex expression. Replacing it with {}.", getterExpr, code);
    } else {
        code = getSingleFieldGetterExpression(pojoClass, getterExpr, exprClass);
    }

    logger.debug("code: {}", code);

    try {
        return se.createFastEvaluator(code, getterClass, new String[] { PojoUtils.OBJECT });
    } catch (CompileException ex) {
        throw new RuntimeException(ex);
    }
}

From source file:de.vandermeer.asciithemes.u8.U8_NumberingSchemes.java

/**
 * Numbering scheme for Roman number literals using lower case UTF-8 Number Circled Latin Small (lower case) characters.
 * //  w ww  . j a v  a  2  s  . c  o m
 * ----
 *  item 1
 *  item 2
 *  item 3
 * ...
 *  item 4000
 * ----
 * 
 * @return the line
 */
public static TA_Numbering romanCircledLatinSmall() {
    return new TA_Numbering() {
        /** Standard Roman literals. */
        String[] from = new String[] { "M", "D", "C", "L", "X", "V", "I" };

        /** UTF character replacements. */
        String[] to = new String[] { "", "", "", "", "", "", "" };

        @Override
        public String getNumber(int number) {
            Validate.validState(0 < number && number < 4001,
                    "numbering supported 0<number<4001 - number was: " + number);
            return StringUtils.replaceEach(Integer_To_RomanLiteral.convert(number), from, to);
        }

        @Override
        public int getMinNumber() {
            return 1;
        }

        @Override
        public int getMaxNumber() {
            return 4000;
        }

        @Override
        public String getDescription() {
            return "Numbering scheme for Roman number literals using lower case UTF-8 Circled Latin Small (lower case) characters.";
        }
    };
}

From source file:com.oncore.calorders.core.utils.FormatHelper.java

/**
 * This method trims the formatting strings from a phone number. It is null
 * safe and the result can be null.//from  w  ww.  ja v a  2  s .  co  m
 *
 * @param phoneNumber The phone number to trim
 * @return The phone number after being trimmed
 */
public static String trimPhoneNumberToNull(String phoneNumber) {
    return StringUtils.replaceEach(StringUtils.trimToNull(phoneNumber), PHONE_NUMBER_FORMATTING_ARRAY,
            PHONE_NUMBER_REPLACE_ARRAY);
}

From source file:com.datatorrent.lib.util.PojoUtils.java

@SuppressWarnings("StringEquality")
private static Object createSetter(Class<?> pojoClass, String setterExpr, String exprObjectPlaceholder,
        String exprValPlaceholder, Class<?> exprClass, Class<?> setterClass) {
    if (setterExpr.startsWith(".")) {
        setterExpr = setterExpr.substring(1);
    }//from www.  j av  a2 s .  c o  m

    if (setterExpr.isEmpty()) {
        throw new IllegalArgumentException("The setter expression: \"" + setterExpr + "\" is invalid.");
    }

    logger.debug("{} {} {} {}", pojoClass, setterExpr, exprClass, setterClass);

    String code = StringUtils.replaceEach(setterExpr,
            new String[] { exprObjectPlaceholder, exprValPlaceholder },
            new String[] { new JavaStatement().appendCastToTypeExpr(pojoClass, OBJECT).toString(),
                    new JavaStatement().appendCastToTypeExpr(exprClass, VAL).toString() });
    if (code != setterExpr) {
        code = new JavaStatement(code.length() + 1).append(code).getStatement();
        logger.debug("Original expression {} is a complex expression. Replacing it with {}.", setterExpr, code);
    } else {
        code = getSingleFieldSetterExpression(pojoClass, setterExpr, exprClass);
    }

    return compileExpression(code, setterClass, new String[] { PojoUtils.OBJECT, PojoUtils.VAL });
}

From source file:com.tugo.dt.PojoUtils.java

private static <T> Object createSetter(Class<?> pojoClass, String setterExpr, String exprObjectPlaceholder,
        String exprValPlaceholder, Class<?> exprClass, Class<T> setterClass) {
    if (setterExpr.startsWith(".")) {
        setterExpr = setterExpr.substring(1);
    }//from w  w  w. j a  v  a 2s.c om

    if (setterExpr.isEmpty()) {
        throw new IllegalArgumentException("The setter string: " + setterExpr + "\nis invalid.");
    }

    logger.debug("{} {} {} {}", pojoClass, setterExpr, exprClass, setterClass);

    IScriptEvaluator se;

    try {
        se = CompilerFactoryFactory.getDefaultCompilerFactory().newScriptEvaluator();
    } catch (Exception ex) {
        throw new RuntimeException(ex);
    }

    String code = StringUtils.replaceEach(setterExpr,
            new String[] { exprObjectPlaceholder, exprValPlaceholder },
            new String[] { new JavaStatement().appendCastToTypeExpr(pojoClass, OBJECT).toString(),
                    new JavaStatement().appendCastToTypeExpr(exprClass, VAL).toString() });
    if (code != setterExpr) {
        code = new JavaStatement(code.length() + 1).append(code).getStatement();
        logger.debug("Original expression {} is a complex expression. Replacing it with {}.", setterExpr, code);
    } else {
        code = getSingleFieldSetterExpression(pojoClass, setterExpr, exprClass);
    }

    try {

        logger.debug("code: {}", code);

        return se.createFastEvaluator(code, setterClass, new String[] { PojoUtils.OBJECT, PojoUtils.VAL });
    } catch (CompileException ex) {
        throw new RuntimeException(ex);
    }
}

From source file:com.nhncorp.lucy.security.xss.XssSaxFilter.java

private void serialize(Writer writer, IEHackExtensionElement ie, StringWriter neloLogWriter)
        throws IOException {
    checkIEHackRule(ie);//w ww .j  a v a2 s.c  om

    if (ie.isDisabled()) { // IE Hack   ? ,  .
        /*if (this.isNeloLogEnabled) {
           neloLogWriter.write(this.neloElementRemoveMSG);
           neloLogWriter.write(ie.getName() + "\n");
        }*/
        if (!this.withoutComment) {
            writer.write(REMOVE_TAG_INFO_START);
            writer.write(ie.getName().replaceAll("<", "&lt;").replaceFirst(">", "&gt;"));
            writer.write(REMOVE_TAG_INFO_END);
        }
    } else {
        // \s : A whitespace character, short for [ \t\n\x0b\r\f]
        // * : Occurs zero or more times, is short for {0,}
        String stdName = ie.getName().replaceAll("-->", ">").replaceFirst("<!--\\s*", "<!--")
                .replaceAll("]\\s*>", "]>"); // IE? ? ? ?   ? 

        int startIndex = stdName.indexOf("<!") + 1;
        int lastIntndex = stdName.lastIndexOf(">");

        String firststdName = stdName.substring(0, startIndex);
        String middlestdName = StringUtils.replaceEach(stdName.substring(startIndex, lastIntndex),
                new String[] { "<", ">" }, new String[] { "&lt;", "&gt;" });
        String laststdName = stdName.substring(lastIntndex);

        stdName = firststdName + middlestdName + laststdName;

        writer.write(stdName);

        //         if (ie.isClosed()) {
        //            writer.write("<![endif]-->");
        //         }
    }
}