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

  • Dive In

    Dive In

    17 Temmuz 2013
  • KSI

    KSI

    25 Temmuz 2009
  • The Slow Mo Guys

    The Slow Mo

    15 AĞUSTOS 2010