SORU
28 EKİM 2008, Salı


Dize için bir alternatif var.Bu büyük / küçük harfe duyarlıdır yerine?

Bir dize arama ve bir değer veritabanından çekilmiş %FirstName% %PolicyAmount% Tüm oluşumları değiştirmek istiyorum. Sorun Ad büyük / küçük harf değişir. String.Replace() yöntemi kullanarak engelliyor beni. Öner konu ile ilgili web sayfaları gördüm

Regex.Replace(strInput, strToken, strReplaceWith, RegexOptions.IgnoreCase);

Ancak ben denemek ve $0 %PolicyAmount% yerine nedense yerini hiçbir zaman gerçekleşir. Ben dolar işareti düzenli ayrılmış bir karakter olmak ile ilgili bir şey olduğunu varsayalım.

Düzenli özel karakterler ile başa çıkmak için giriş dezenfektan içermeyen kullanabileceğim başka bir yöntem var mı?

CEVAP
28 EKİM 2008, Salı


Dize gibi görünüyor.DeğiştiringerekirStringComparison bir argüman alır bir aşırı yüklenme var. Yok, böyle bir şey deneyebilirsiniz:

public static string ReplaceString(string str, string oldValue, string newValue, StringComparison comparison)
{
    StringBuilder sb = new StringBuilder();

    int previousIndex = 0;
    int index = str.IndexOf(oldValue, comparison);
    while (index != -1)
    {
        sb.Append(str.Substring(previousIndex, index - previousIndex));
        sb.Append(newValue);
        index  = oldValue.Length;

        previousIndex = index;
        index = str.IndexOf(oldValue, index, comparison);
    }
    sb.Append(str.Substring(previousIndex));

    return sb.ToString();
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • andony5589

    andony5589

    7 Aralık 2011
  • FOSDEM

    FOSDEM

    13 Ocak 2009
  • MysteryGuitarMan

    MysteryGuita

    16 HAZİRAN 2006