Nasıl bir Java Dize belirteçleri kümesi değiştirmek için? | Netgez.com
SORU
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ÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • ★ByScrapi★ Designs

    ★ByScrapiâ

    27 AÄžUSTOS 2013
  • Kyletiv7

    Kyletiv7

    28 Mayıs 2007
  • Rooster Teeth

    Rooster Teet

    11 Temmuz 2006