17 Aralık 2011 Cumartesi

C# IndexOf, LastIndexOf

Geçen gün iş yerinde düşünülen bir algoritma gereği bir cümlenin içindeki ilk 20 karakterin içindeki son boşluğun bulunması gerekti.

LastIndexOf ile çözüldü. Hoşuma gitti sizlerle de paylaşmak istedim.

var text = "salih selametoğlu antalya"
var indexOfSpace = text .LastIndexOf(' ',18, 16); //boşluk var tek tırnak arasında
yani 18. index dahil olmak üzere başla (19. karakter oluyor => antalya'nın a'sı) ve sıfırıncı indexe(sola) doğru 16 karakter dahil al.
  • ih selametoğlu a
Sonra bunun içindeki son boşluğun indexini genel texte göre verir.

Yani sonuç = 17

LastIndexOf 'un parametreleri;
  • char value = aranacak karakter (stringde olabilir)
  • int startIndex = Aramaya başlanılacak olan yer
  • int count = başa doğru alınacak karakter sayısı. Verilmezse sıfırıncı indexe kadar alır.
  • StringComparison = Dil ayarları için

LastIndexOf 'a değinmişken IndexOf 'a da değinmek istedim.

IndefOf ise herşey aynı sadece count değerimiz sağa doğru ilerler.


Index mantığını anlamak için bu yazı işinize yarayabilir.


Bol kodlu günler...

1 yorum: