SORU
12 AĞUSTOS 2010, PERŞEMBE


Dize kullanarak bir StringBuilder tüm tekrarlarını değiştirmek?

Bir şey eksik, ya da eksikliği StringBuilder mı aynı "bir dize Bir dize B ile tüm tekrarlarını normal String sınıfı yok" işlevi? değiştirin miyim StringBuilder işlevi eskisi gibi değil değiştirin. Daha verimli bir şekilde birden çok Dize normal String sınıfını kullanarak oluşturmadan bunun için herhangi bir yolu var mı?

CEVAP
12 AĞUSTOS 2010, PERŞEMBE


Peki, bir döngü yazabilirsiniz:

public static void replaceAll(StringBuilder builder, String from, String to)
{
    int index = builder.indexOf(from);
    while (index != -1)
    {
        builder.replace(index, index   from.length(), to);
        index  = to.length(); // Move to the end of the replacement
        index = builder.indexOf(from, index);
    }
}

Bazı durumlarda daha hızlı lastIndexOf arkadan çalışma kullanmak için olabilir unutmayın. Eğer bir kısa bir uzun bir dize değiştirme eğer durum öyle sanıyorum başlangıç için geldiğinde, herhangi bir yedek kopya daha var. Her neyse, bu size bir başlangıç noktası vermek gerekir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GavinMichaelBooth

    GavinMichael

    26 AĞUSTOS 2006
  • ::..ηєѕѕ мιχ..::

    ::..ηєѕѕ

    15 Aralık 2006
  • YouplusmeVEVO

    YouplusmeVEV

    4 EYLÜL 2014