Java 獲取和替換字符串中 {} 包含的內容

Java 獲取和替換字符串中 {} 包含的內容

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.總結

一般來說,只要我們善於使用正則表達式,替換這種功能是很容易實現的,當然這裏只是舉例一個最簡單的例子,現實情況下可能還要考慮嵌套的問題,我們可以根據自己的需求變通。只要我們掌握了方法,去實現這些功能也不會困難。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章