1. 程式人生 > >JAVA編碼 —— 字符串關鍵字內容替換

JAVA編碼 —— 字符串關鍵字內容替換

equal ceo fir strong sem empty static png pre

前言

工作中,我們可能遇到字符串內容替換的場景。例如:我們需要將一個字符串凡是 “#” 標註的,分別替換為不同的內容,那我們應該怎麽做呢?

分析,一個字符串可能含有多個“#”,每個 “#”又對應不同的值,那麽我們需要替換的內容應該是一個不定的參數類型,要做這些離不開循環操作。

好了,做完以上的簡單分析,我們直接就可以進行編碼了。

/**
     * 字符串內容替換
     *
     * @param str  要替換的字符串
     * @param v    被替換的關鍵字
     * @param args 要替換的內容
     * @return
     */
    public
static String strReplace( String str, String v, String... args) { if (!isEmpty(str)) { int n = 0; int a = args.length; while (str.contains(v)) { if (n >= a) { break; } str
= str.replaceFirst( v, args[n] ); n++; } } return str; }

  
public static void main(String[] args) {
String str = "{\"v1\":\"#\",\"v2\":\"#\"}";
String s = strReplace(str, "#", "111", "222");
System.out.println(s);
}

中間有個 isEmpty 非空判斷方法:

/**
     * 判斷一個對象是否為空
     *
     * @param obj 對象
     * @return Boolean
     */
    public static boolean isEmpty(Object obj) {
        if (obj instanceof String) {
            obj = obj.toString().trim();
        }
        if (("").equals(obj) || null == obj || "null".equals(obj) || obj.equals(null)) {
            return true;
        }
        return false;
    }

輸出:

技術分享圖片

JAVA編碼 —— 字符串關鍵字內容替換