Java 获取和替换字符串中 {} 包含的内容

    技术2022-07-11  104

    Java 获取和替换字符串中 {} 包含的内容

    Java 获取和替换字符串中 {} 包含的内容1.需求描述2.功能实现3.总结

    Java 获取和替换字符串中 {} 包含的内容

    系统:Win10 JDK:1.8.0_121 IDEA:2017.3.2

    1.需求描述

    给出一个字符串,用正则表达式去查找该字符串中的 {},并替换为自己需要的内容

    2.功能实现

    public class Test { /*处理字符串获取{ }内的内容*/ public static void main(String[] args) throws Exception { String url1 = "www.baidu.com/name={testName}?password={testPsw}"; // 目标字符串 String url2 = solveUrl(url1); System.out.println("url1:" + url1); System.out.println("url2:" +url2); } public static String solveUrl(String url) throws Exception { // 处理函数 int i = 0; String[] strings = {"aa","bb","cc"}; // 用来替换的对象 String pattern = "\\{[^}]*\\}"; // 匹配{} 的表达式 Pattern p = Pattern.compile(pattern); Matcher m = p.matcher(url); while(m.find()){ // 当字符串中有匹配到 {} 时 String param = m.group(0); // {} 和里面的内容 System.out.println(param.substring(1,param.length()-1)); // 输出{} 里面的内容 url = url.replaceFirst("\\{[^}]*\\}",strings[i]); // 替换 {} 和里面的内容 i++; } return url; } }

    运行结果

    3.总结

    一般来说,只要我们善于使用正则表达式,替换这种功能是很容易实现的,当然这里只是举例一个最简单的例子,现实情况下可能还要考虑嵌套的问题,我们可以根据自己的需求变通。只要我们掌握了方法,去实现这些功能也不会困难。

    Processed: 0.009, SQL: 9