6 HAZÄ°RAN 2009, CUMARTESÄ°
Nasıl bir Java Dize belirteçleri kümesi değiştirmek için?
Aşağıdaki şablonu Dizesi var: "Merhaba [Adı] [Tarih] nedeniyle bulmak ekli [Fatura Numarası] Lütfen".
Ben de adı için Dize değişkenleri, en iyi şekilde simgeleri değiştirmek için değişkenleri ile şablon içinde ne fatura numarası ve bitiş tarihi -?
(Eğer bir değişken bir simge içerir olursa değiştirilmesi gerektiğini unutmayın).
---------- EDÄ°T----------------
Laginimaineb sayesinde ve Alan M işte benim çözüm:
public static String replaceTokens(String text,
Map<String, String> replacements) {
Pattern pattern = Pattern.compile("\\[(. ?)\\]");
Matcher matcher = pattern.matcher(text);
StringBuffer buffer = new StringBuffer();
while (matcher.find()) {
String replacement = replacements.get(matcher.group(1));
if (replacement != null) {
// matcher.appendReplacement(buffer, replacement);
// see comment
matcher.appendReplacement(buffer, "");
buffer.append(replacement);
}
}
matcher.appendTail(buffer);
return buffer.toString();
}
CEVAP
6 HAZÄ°RAN 2009, CUMARTESÄ°
Bunun için gerçekten böyle şablon motoru falan kullanmaya gerek yok. String.format
yöntemi gibi kullanabilirsiniz:
String template = "Hello %s Please find attached %s which is due on %s";
String message = String.format(template, name, invoiceNumber, dueDate);
Bunu PaylaÅŸ:
Dize tek boÅŸluk ile 2 veya daha fazla ...
Nasıl bir dosyanın içeriğini bir Java ...
Java nasıl bir dize bir karakter dönüş...
Nasıl bir Dize Java sayısal bir tip ol...
Nasıl Java hex bir dize bir bayt dizis...