Java Regex String Replace replace$(String text, Map vars)

Here you can find the source of replace$(String text, Map vars)

Description

Replaces the variables present in the text and returns the result.
Each key will be added to the $ prefix.

License

Apache License

Parameter

Parameter Description
text text to edit
vars map with the string to replace as key and the respective value as value

Return

the text resultant

Declaration

public static String replace$(String text, Map<String, String> vars) 

Method Source Code

//package com.java2s;
/**/*from  w  ww .  j av  a  2s.  c  o m*/
 * Copyright (C) 2012 - 2015 Alessandro Vurro.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.util.Map;
import java.util.Map.Entry;

import java.util.regex.Pattern;

public class Main {
    /**
     * Replaces the variables present in the text and returns the result.<br>
     * Each key will be added to the $ prefix.
     * @param text text to edit
     * @param vars map with the string to replace as key and the respective value as value
     * @return the text resultant
     */
    public static String replace$(String text, Map<String, String> vars) {
        return replace(text, vars, "$");
    }

    private static String replace(String text, Map<String, String> vars, String prefix) {
        for (Entry<String, String> var : vars.entrySet())
            text = text.replaceAll(Pattern.quote(prefix + var.getKey()), var.getValue());

        return text;
    }
}

Related

  1. replace(CharSequence target, CharSequence replacement, String string)
  2. replace(final String regex, final String replacement, final StringBuffer source, boolean all)
  3. replace(final String template, final Map map, final String prefix, final String suffix, boolean useMapForMatching)
  4. replace(Matcher m, String rv, Object value)