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

  • Autodesk 3ds Max Learning Channel

    Autodesk 3ds

    23 HAZİRAN 2010
  • kimberly p

    kimberly p

    23 Ocak 2010
  • paulandstorm

    paulandstorm

    4 EYLÜL 2006