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

  • DetroitBORG

    DetroitBORG

    29 Temmuz 2008
  • Dopelives

    Dopelives

    30 Temmuz 2009
  • Pál Zoltán Illés

    Pál Zoltán

    30 NİSAN 2007