मुझे पता है कि यह पोस्ट 2010 से आया था, इस तथ्य को देखते हुए कि मैंने अभी इसकी खोज की है, किसी और को अभी भी इसकी आवश्यकता होगी। तो यहां मेरी आवश्यकता के लिए बनाया गया कार्य है।
मूल रूप से, यह एक json से मूल्य (या मॉडल, या किसी डेटा स्रोत) वाले सभी कीवर्ड का स्थान ले लेगा
का उपयोग कैसे करें:
JsonObject jsonROw = some_json_object;
String words = "this is an example. please replace these keywords [id], [name], [address] from database";
String newWords = preg_match_all_in_bracket(words, jsonRow);
मैं अपने साझा अनुकूलक में इस कोड का उपयोग करें।
public static String preg_match_all_in_bracket(String logos, JSONObject row) {
String startString="\\[", endString="\\]";
return preg_match_all_in_bracket(logos, row, startString, endString);
}
public static String preg_match_all_in_bracket(String logos, JSONObject row, String startString, String endString) {
String newLogos = logos, withBracket, noBracket, newValue="";
try {
Pattern p = Pattern.compile(startString + "(\\w*)" + endString);
Matcher m = p.matcher(logos);
while(m.find()) {
if(m.groupCount() == 1) {
noBracket = m.group(1);
if(row.has(noBracket)) {
newValue = ifEmptyOrNullDefault(row.getString(noBracket), "");
}
if(isEmptyOrNull(newValue)) {
//no need to replace
} else {
withBracket = startString + noBracket + endString;
newLogos = newLogos.replaceAll(withBracket, newValue);
}
}
}
} catch (JSONException e) {
e.printStackTrace();
}
return newLogos;
}
मैं भी जावा/Android के लिए नया हूँ, अगर आपको लगता है कि यह एक बुरा कार्यान्वयन या कुछ और है सही करने के लिए संकोच न करें। tks
स्रोत
2017-09-08 03:47:31