Java Regex String Replace replace(String original, CharSequence target, CharSequence replacement)

Here you can find the source of replace(String original, CharSequence target, CharSequence replacement)

Description

Implementation according to JDK5 String.replace(CharSequence,CharSequence)

License

Apache License

Declaration

private static final String replace(String original, CharSequence target, CharSequence replacement) 

Method Source Code

//package com.java2s;
//License from project: Apache License 

import java.util.regex.Pattern;

public class Main {
    /**/*  w ww  . ja va  2  s.c  o m*/
     * Implementation according to JDK5 String.replace(CharSequence,CharSequence)
     */
    private static final String replace(String original, CharSequence target, CharSequence replacement) {
        return Pattern.compile(target.toString(), Pattern.LITERAL).matcher(original)
                .replaceAll(quoteReplacement(replacement.toString()));
    }

    /**
     * Implementation according to JDK5 String.replace(CharSequence,CharSequence)
     */
    private static String quoteReplacement(String s) {
        if ((s.indexOf('\\') == -1) && (s.indexOf('$') == -1)) {
            return s;
        }
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (c == '\\') {
                sb.append('\\');
                sb.append('\\');
            } else if (c == '$') {
                sb.append('\\');
                sb.append('$');
            } else {
                sb.append(c);
            }
        }
        return sb.toString();
    }
}

Related

  1. replace(String inputStr, String patternStr, String replacementStr)
  2. replace(String inString, String oldPattern, String newPattern)
  3. replace(String line, String regexp, String replacement)
  4. replace(String message, ResourceBundle bundle)
  5. replace(String operateOn[], String from, String to)
  6. replace(String pattern, String replace, String s)
  7. replace(String s, Pattern pattern, Function func)
  8. replace(String s, Properties p)
  9. replace(String s1, String s2, Pattern pattern)