Alpha Centauri
Megapat
- Katılım
- 25 Şubat 2016
- Mesajlar
- 3.554
- Makaleler
- 4
- Çözümler
- 89
Merhabalar. C#'ta Substring ile çözemediğim bir durum var. Bir programımda yapılan işlemlerin kaydını tutuyorum, belli bir süreden (mesela 1 aydan) daha eski değerleri siliyorum. Ancak enteresan bir durumla karşılaştım, bu durumu yazma şeklimle, farklı kullanmak zorunda olsam dahi Replace gibi basit işlemlerle geçiştirmek kolay ancak neden böyle bir sorun olduğunu merak ediyorum ve anlamak istiyorum.
Yaptığım iş bir metnin başından tarihi çekmek. Mesela şöyle bir değer olsun:
[23.12.2019 22:20:20] Blabla işlemi yapıldı.
Buradan baştaki tarihi çekmek için şöyle bir yol izliyorum:
Gelelim garip kısma, eğer bu metnin başına başka değerler gelirse aldığım çıktı baştakinden farklı oluyor. Üstelik başında farklı karakterler olduğunda, sadece tarihi yazıp devamına hiç yazı, 1 karakter dahi yazmadıysam "System.ArgumentOutOfRangeException" şeklinde hata alıyorum. (Program her zaman tarihten sonra işlem yazacak olduğundan sıkıntı yok ama dediğim gibi amaç öğrenmek.)
Çıktılar şöyle oluyor:
İlk çıktıda veriler:
İkinci çıktıda veriler:
@BilgisayarKurdu
Şimdiden teşekkürler.
Yaptığım iş bir metnin başından tarihi çekmek. Mesela şöyle bir değer olsun:
[23.12.2019 22:20:20] Blabla işlemi yapıldı.
Buradan baştaki tarihi çekmek için şöyle bir yol izliyorum:
C#:
string tarih = yazi.Substring(yazi.IndexOf('['), yazi.IndexOf(']'));
Gelelim garip kısma, eğer bu metnin başına başka değerler gelirse aldığım çıktı baştakinden farklı oluyor. Üstelik başında farklı karakterler olduğunda, sadece tarihi yazıp devamına hiç yazı, 1 karakter dahi yazmadıysam "System.ArgumentOutOfRangeException" şeklinde hata alıyorum. (Program her zaman tarihten sonra işlem yazacak olduğundan sıkıntı yok ama dediğim gibi amaç öğrenmek.)
Çıktılar şöyle oluyor:
[23.12.2019 22:20:20] için [23.12.2019 22:20:20
=>[23.12.2019 22:20:20] için [23.12.2019 22:20:20]
(Üstelik dediğim gibi sonunda ek bir karakter olmadığında yukarıda belirttiğim şekilde hata alıyorum. Ancak bir üstteki yazım şeklinde sonunda karakter olmasa da hata almıyorum.)İlk çıktıda veriler:
İkinci çıktıda veriler:
@BilgisayarKurdu
Şimdiden teşekkürler.