`
465272694
  • 浏览: 52480 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

string对{}和map的替换符的一段代码(描述得不好,就是把map的值替换到{}里面)

    博客分类:
  • java
 
阅读更多
import java.util.Map;
public class StringFormatUtil {

    private StringFormatUtil(){}


    public static String substitute(String tepl, Map<String, String> params) {
        String text = tepl;
        for(Map.Entry<String, String> entry:params.entrySet()){
            String key = entry.getKey();
            text = text.replaceAll("\\{" + key + "}", safeRegexReplacement(entry.getValue()));
        }
        return text;
    }

    private static String safeRegexReplacement(String replacement) {
        if (replacement == null) {
            return replacement;
        }

        return replacement.replaceAll("\\\\", "\\\\\\\\").replaceAll("\\$", "\\\\\\$");
    }
}

 使用方法:

static String sqlTemplete = "insert into tree_node (TREE_NODE_ID, OBJECT_ID, TREE_NODE_NM, TREE_NODE_POSITION, TREE_NODE_TYPE_CODE, UPPER_TREE_NODE_ID) values('{nodeId}','0','{nodeNm}','0','8','{upperNodeId}');";

Map<String, String> params = new HashMap<String, String>();
        params.put("nodeId", String.valueOf(1));
        params.put("upperNodeId", String.valueOf(2));
        params.put("nodeNm", String.valueOf(3));
        System.out.println(StringFormatUtil.substitute(sqlTemplete, params));
 

 

分享到:
评论

相关推荐

    Map集合笔记

    下面通过一段代码来演示如何使用`Map`集合: ```java public class MapDemo { public static void main(String[] args) { Map, String&gt; map = new HashMap(); method(map); } public static void method(Map...

    python字符串批量替换、修改多个字符的代码片段.zip

    在Python编程中,字符串处理是一项基础且重要的任务。在某些场景下,我们可能需要批量替换或修改字符串中的多个字符。...通过阅读和运行这段代码,你可以加深对Python字符串处理的理解,掌握批量替换字符串字符的方法。

    java操作hadoop之mapreduce计算整数的最大值和最小值实战源码

    在这个场景下,Reducer需要维护当前遇到的最大值和最小值,每次接收到新的键值对时更新它们。 4. **编写驱动程序**:驱动程序设置输入和输出路径,创建Job对象,设置Mapper和Reducer类,然后提交Job给Hadoop集群...

    短信资源纯Java后端代码仅供参考

    本资源提供的是一段纯Java后端代码,主要用于实现短信发送功能,特别关注的是模板短信的处理。该代码基于SpringBoot框架,利用RabbitMQ作为消息中间件,这使得系统具有高度的可扩展性和异步处理能力。 首先,...

    aspose.Words 实例

    构造方法:WordTemplateUtil(String fileName) filename:提供需要替换的模板或文档的路径 public void insertTextByFormField(String formFieldName, String text) formFieldName:表单域名称。text:要插入的文本...

    VS2008 WinForm类型的GoogleMap二次开发

    请注意替换`YOUR_API_KEY`、`LATITUDE`、`LONGITUDE`和`ZOOM_LEVEL`为实际值。 一旦地图加载完成,我们就可以在地图上添加文本标注了。Google Maps API提供了一个`google.maps.Marker`对象用于此目的。在C#中,我们...

    INI文件的读写操作源代码

    这段C++代码定义了两个函数,`ReadINI`用于读取INI文件,将数据存储到`std::map`中;`WriteINI`用于写入数据到INI文件,接受一个已经填充好的`std::map`对象。 5. **INI文件的应用实例** - 应用程序配置:许多...

    c++经典代码大全 清晰版

    【C++经典代码大全 清晰版】是一个针对C++初学者精心编纂的资源集合,旨在帮助新手快速掌握C++编程语言的核心概念和技术。这个压缩包文件包含了多个示例程序,每个都代表着C++编程中的重要知识点。下面将详细阐述...

    字符串操作

    以下是对标题、描述、标签以及部分内容中提及的知识点进行详细阐述: ### 字符串操作:编辑距离与动态规划详解 #### 一、编辑距离简介 编辑距离(Edit Distance)是一种度量两个字符串相似度的方法,通常用于衡量...

    spring mvc拦截器过滤json中的null值

    在某些情况下,为了保持数据的整洁和避免后端处理null值时出现异常,我们需要在数据传输前过滤掉这些null值。本教程将详细介绍如何使用Spring MVC的拦截器来实现这一功能。 首先,了解拦截器(Interceptor)在...

    Java中的Map接口——学习小结

    - putAll(Map map):将另一个Map的所有键值对复制到当前Map中,要求Key和Value类型匹配。 - remove(Object k):根据Key删除对应的键值对。 - get(Object k):根据Key获取对应的Value。 - size():返回Map中键值...

    java泛型详解

    这种灵活性和安全性是由类型参数提供的,类型参数可以理解为一种类型占位符,在实际使用时会被具体的类型替换。 #### 泛型在集合框架中的应用 在Java集合框架中,泛型的引入极大地提高了代码的类型安全性和可读性...

    iBatis条件查询

    这里`#{name}`和`#{minAge}`就是占位符,iBatis会在执行时将它们替换为实际的值。 此外,资源中的"按条件查询三国数据库"可能包含了一个基于三国历史数据的示例,这有助于开发者更好地理解和实践iBatis的条件查询...

    非法字符和谐并输出各个字符和谐次数

    `Map`则是一个键值对的集合,每个键都是唯一的,用于存储一对或多对键值。在Java中,`HashMap`是最常用的`Map`实现。 在这个问题中,`list`可能用于存储原始字符串的每个字符,以便遍历和处理;而`map`则可以用来...

    详细描述jdk1.5新特性

    `E` 可以理解为一个占位符,当实际使用该泛型类型时,会用具体的类型来替换它。 ##### 2.3 泛型方法 除了泛型类型外,Java 5.0 还引入了泛型方法。泛型方法是在方法签名中包含类型参数的方法。这样的方法可以在...

    基于C++图书管理系统设计与代码实现

    《基于C++图书管理系统设计与代码实现》是一个深入探讨如何使用C++编程语言构建图书管理系统的项目。在本文中,我们将详细讨论这个系统的设计思路、关键功能实现以及C++编程技术的应用。 首先,图书管理系统的核心...

    MapReduce,泛型,匿名内部类,Runnable和Callable

    例如,ArrayList就是泛型的一个实例,其中T代表一个类型参数,实际使用时可以替换为具体的类型如String或Integer。 匿名内部类是在Java中定义一个新的类而无需为其命名的一种方式,通常用于实现接口或者继承类,...

    Java常用代码和方法

    本资源"Java常用代码和方法"提供了一系列的示例和详细注释,旨在帮助初学者更好地理解和运用Java的核心概念。以下是一些关键的知识点,它们通常会在Java开发中频繁出现: 1. **基础数据类型与封装类**: Java提供...

    Lambda表达式里面修改外部变量问题

    在描述的场景中,我们有一个用于SQL查询字符串的变量`result`,并且有一个Map `sysParams`来存储占位符和它们的替换值。传统的遍历Map并替换`result`中的占位符的方法如下: ```java String result = "select * ...

    JSONObject java解析json需要的jar包和依赖包

    这段代码将打印出: ``` {"name":"John", "age":30, "city":"New York"} ``` 3. **访问和修改JSON对象** `JSONObject`提供了多种方法来访问和修改JSON对象中的键值对。例如,你可以使用`get()`方法获取指定键...

Global site tag (gtag.js) - Google Analytics