İçeriğe geç
Ekim 24, 2006 / Erkan

C# İle Bir Kelime Katarındaki (string) İlk Harfi Büyük Harf Yapmak


Progamalama yaparken programı kullanan kullanıcılarınızdan gelen verilerin yeterince özenli girilmediğine defalarca rastlamışsınızdır. Örnek vermek gerekirse isim, soyad alanlarındaki özensiz girişler listeleme yaptığınız ekranlarınızda oldukça karmaşık ve rahatsız edici bir görüntüye sebeb olabilmektedir.

İsim, soyad gibi kullanıcıdan alınan veri alanlarındaki özensiz girişleri düzenlemek için kullanabileceğiniz, yazmış olduğum ufak bir fonksiyonu paylaşmak istedim.


/// <summary>
/// Gelen kelime katarını küçültür ve ilk harfi büyük harf yapar
/// </summary>
/// <param name="str">string</param>
/// <returns>string</returns>
private string TextLowerAndFirstUpper(string str)
{
str = str.ToLower();
char[] stra = str.ToCharArray();
for (int i = 0; i < stra.Length; i++)
{
if (i == 0)
{
str = string.Empty;
str += stra[i].ToString().ToUpper();
}
else
{
str += stra[i].ToString();
}
}
return str;
}

23 Yorum

Yorum Yapın
  1. aygül / Ara 18 2006 8:49 pm

    yorumsuz

    • muammer keleş / Ara 15 2011 5:37 pm

      CultureInfo.CurrentCulture.TextInfo.ToTitleCase(“o yorumsuzsa bu ne? :)”)
      cevap: “O Yorumsuzsa Bu Ne?:)”

  2. Erkan / Ara 22 2006 4:13 am

    Sayın Aygül,

    Keşke iyi yada kötü bir yorum yapmış olsaydınız. :)

  3. tali_off / Mar 13 2007 9:56 pm

    NE OLURSA OLSUN EMEGINE SAGLIK GERCEK DEN AZ AMA OZ SEYELER YAPMISSINIZ SAYGILARIMLA..BU ARADA KENDI SITEMDE DE YAYINLAMAK ISTIYORUM SIZIN SITENIZIN ADINI VEREREK CEVAP WERIRISENIZ COK SEWINIRIM…

  4. tali_off / Mar 14 2007 1:08 am

    mesajima cevap bekliyorum http://www.nccon.com da burdaki kodlari yayinlamak istiyorum ben digerleri gibi alintidir yazip almakdan sa size sormayi yeledim cevap yazarsaniz cok sewinirim

  5. Erkan / Mar 14 2007 1:16 am

    Blog’da yer alan kodları kendi sitenizde yayınlamanızda herhangi bir sakınca yok, tabi ki yayınlayabilirsiniz.

  6. tali_off / Mar 15 2007 2:00 am

    cok tesekkur ederim kendi sitemde yayinlamakdan gurur duyacagim http://www.nccon.com saygilarimla

  7. Salih BAL / Ağu 7 2007 2:49 pm

    Emeğine sağlık. Teşekkür ediyorum.

  8. WebTasarım / May 4 2008 4:50 pm

    Teşekkürler güzel kaynak programcılar için…

  9. iltermutlu / Oca 25 2010 4:33 pm

    Teşekkürler. Güzel örnek

  10. Sezayi / Şub 16 2010 10:49 am

    El muhteşem, el perfect, el nefis.Çok teşekkürler dostum.Emeğine sağlık.Projemde kullanacağım izninle.

  11. Miraç Satıç / Nis 12 2010 4:43 pm

    Öncelikle elinize sağlık uğraşıp yazmışsınız.Eğer sadece verileri gösterirken bir yerlerde ilk harfi büyütmek istiyorsanız css de;

    .harf:first-letter {
    font-size:400%;
    float:left;
    line-height:.8em;
    }

    :)

  12. Yalçın Görmez / Haz 15 2010 10:36 am

    Neden bu kadar uzun kod yazdığınızı anlamadım. Buyurun;

    if (giris.Length > 1)
    {
    giris = giris.Substring(0, 1).ToUpper() + giris.Substring(1, giris.Length – 1).ToLower();
    }

    • Erkan / Haz 16 2010 11:36 pm

      Merhaba Yalçın bey,

      Sitenin amacı programlamaya “yeni başlayanlara” yardımcı olmak. Sanırım bu açıklama neden kodları uzun yolla anlattığımı anlamanıza yardımcı olacaktır.

      Fakat madem ki amaç daha kısa yazmak aşağıdaki yöntem sizin önerdiğinizden daha kısa bir yöntem olacaktır.

      if (str.Length>0) str = str[0].ToString().ToUpper() + str.ToLower().Remove(0,1);

      İlginize teşekkürler.

      • birisi / Ara 1 2011 1:30 pm

        cevap darbeli matkap gibi olmuş :)

      • ihsan / Nis 2 2013 8:34 pm

        CultureInfo.CurrentCulture.TextInfo.ToTitleCase bu ikinizden de kısa :)

      • Erkan / Nis 3 2013 5:04 pm

        @ihsan

        Paylaşım için teşekkürler.

  13. nihal / Tem 27 2010 2:43 pm

    slm ark ben denedım ama hepsını buyuk yapıor bu program ılk harfı buyuk sonrakılerı kucuk ıstıorum ben bulamadım yardımcı olacak bırı :S

  14. Hakan / Eyl 25 2010 4:32 pm

    Teşekkür ederim, işime yaradı.

  15. Blordk / Ara 4 2011 4:55 pm

    eline sağlık arkadaşım bende şöyle düzenledim senin kodunu, ikinci kelimeninde ilk harfini büyütmesi için

    str = str.ToLower();
    char[] stra = str.ToCharArray();
    for (int i = 0; i < stra.Length; i++)
    {
    if (i == 0)
    {
    str = string.Empty;
    str += stra[i].ToString().ToUpper();
    }
    else
    {
    if (stra[i].ToString() == " ")
    {
    str += stra[i].ToString();
    i = i + 1;
    str += stra[i].ToString().ToUpper();
    }
    else
    {
    str += stra[i].ToString();
    }
    }
    }
    return str;

    • Erkan / Ara 7 2011 12:39 am

      Katkınız için teşekkürler.

  16. musti / Şub 16 2012 10:31 am

    Sizin Yaptığınız Örnekleri Deniyom Ama Hata Alıyom Neden ?

  17. musti / Şub 16 2012 10:34 am

    Örneklerinizi Using system; den itibaren kopyalayarak verirmisiniz !!1

tali_off için bir cevap yazın Cevabı iptal et