Prefacio
Creo que puedes haber encontrado esta situación. Al desarrollar requisitos similares de letras del sitio web, a menudo usamos plantillas de cadena, como
Estimado usuario $ {nombre}. . . . ${name} se puede reemplazar con el nombre de usuario del usuario.
La siguiente es una implementación simple de esta función utilizando expresiones regulares:
/** * Fill strings according to key-value pairs, such as ("hello ${name}",{name:"xiaoming"}) * Output: * @param content * @param map * @return */ public static String renderString(String content, Map<String, String>> sets = map.entrySet(); for(Entry<String, String> entry : sets) { String regex = "// $ // {" + Entry.getKey () + "//}"; El par de valores clave se almacena en map , y luego se obtienen los pares de valor clave, y el conjunto se atraviesa para representar la cadena
Prueba de ejemplo:
@Test public void rendererString () {String content = "Hola $ {name}, 1 2 3 4 5 $ {Six} 7, nuevamente $ {name}."; Map <string, string> map = new HashMap <> (); map.put ("nombre", "java"); map.put ("Six", "6"); content = stringHelper.renderString (content, map); System.out.println (contenido); } Hay dos variables que deben ser reemplazadas, name y six , y los valores correspondientes son Java y 6 respectivamente. name se llama dos veces al mismo tiempo.
resultado:
Hola Java, 1 2 3 4 5 6 7, nuevamente Java.
Resumir
Lo anterior se trata de Java usando expresiones regulares para implementar la plantilla de cadena $ {name}. Espero que el contenido de este artículo sea de ayuda para el estudio o el trabajo de todos. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse.