Discuss / Java / 正则表达联系,用appendReplacement方法

正则表达联系,用appendReplacement方法

Topic source

WLjustdo

#1 Created at ... [Delete] [Delete and Lock User]

import java.util.HashMap;

import java.util.regex.*;

public class Main {

    public static void main(String[] args){

        HashMap<String, String> map = new HashMap<String, String>();

        map.put("name", "Bob");

        map.put("lang", "java");

        String s = "Hello, ${name}! You are learning ${lang}!";

        Pattern p = Pattern.compile("\\$\\{(\\w+)}");

        Matcher m = p.matcher(s);

        StringBuilder sb = new StringBuilder();

        while(m.find()){

            String tmp = s.substring(m.start()+2, m.end()-1);

            m.appendReplacement(sb, map.get(tmp));

        }

        m.appendTail(sb);

        System.out.println(sb.toString());

    }    

}


  • 1

Reply