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

  • Dan Gately

    Dan Gately

    13 AĞUSTOS 2006
  • lilstevie89

    lilstevie89

    25 Mart 2011
  • Roger Huffman

    Roger Huffma

    4 ŞUBAT 2007