indexOf sorunsalı

wedontneed
11-03-2009, 23:45   |  #1  
OP Taze Üye
Teşekkür Sayısı: 0
8 mesaj
Kayıt Tarihi:Kayıt: Mar 2009

Merhabalar String içinde String aramak için indexOf kullanıyorum. indexOf kullanırken bir klasörden dosyaların isimlerini alıyorum ve kullanıcının yazdığı kelimenin içinde geçtiği dosyaları ekrana yazdırıyorum fakat ne yapsam ne etsem karşılaştırmaya ilk harften değilde 2. harften başlıyor. dosya isimlerini aynı bi string'e atıp baktığımda orda isimler normal gözüküyor fakat arama yaparken dosyaların ilk harflerini görmezden geliyor. Yardım ederseniz sevinirim...

_cypher_
12-03-2009, 01:49   |  #2  
Yıllanmış Üye
Teşekkür Sayısı: 0
1,389 mesaj
Kayıt Tarihi:Kayıt: Oca 2009

kodları eklersen sorun daha rahat anlaşılır ama bence indexOf un 0 dan başladığını unutuyorsunuz Göz kırpma

wedontneed
12-03-2009, 20:45   |  #3  
OP Taze Üye
Teşekkür Sayısı: 0
8 mesaj
Kayıt Tarihi:Kayıt: Mar 2009

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
String a=jTextField1.getText(); // arama kelimesi String makale_isim=listOfFiles[i].getName(); // içinde aranılacak metin int deger=makale_isim.indexOf(a);
Yardımcı olursanız sevinirim Soru

wedontneed
12-03-2009, 21:47   |  #4  
OP Taze Üye
Teşekkür Sayısı: 0
8 mesaj
Kayıt Tarihi:Kayıt: Mar 2009

Problemimi çözdüm küçük bir mantık hatası yapıyormuşum _cypher_ ilgin için teşekkürler.

OnlyMann
12-03-2009, 21:53   |  #5  
OnlyMann avatarı
Yıllanmış Üye
Teşekkür Sayısı: 5
2,779 mesaj
Kayıt Tarihi:Kayıt: Şub 2009

                String s1 = "fatih";
                String s2 = "fatih ";
                System.out.println(s1.equalsIgnoreCase(s2));
                System.out.println(s1.compareTo(s2));
               
                System.out.println(s1.indexOf("ih"));
                System.out.println(s1.indexOf("kih"));
               
                String s3 = "karate";
                System.out.println(s3.indexOf("a"));
                System.out.println(s3.lastIndexOf("a"));

bu örnek belki işinize yarar.

String yeni;
yeni=yazi.substring(3);    //        yazi içerisindeki bilginin 3 uncu karakterinden        sonrasını yeni değişkeninin içerisine atar.

.substring(x,y)         : string bilgiyi parçalar. X’den başla, y kadar al.
.replace(ch org,ch değiştirilen)        :org ile verilen chari değiştirilende verilenle değiştir.
.trim()        :Sağında/solunda bulunan boşlukları temizler.
.toUpperCase()        :Karakterleri büyüt.
.toLowerCase()        :Karakterleri küçült.
.charAt(‘a’)        :ilk a’nın konumunu verir. Yoksa -1 değeri döner.
.indexOf(‘a’)        :ilk a’nın konumunu verir.
.lastIndexOf(‘a’)        :sondan ilk a’nın konumunu verir.
.equals(xx)        :karşılaştırmayı sağlar.
.equalsIgnoreCase(xx)        :büyük/küçük ayırmadan karşılaştırmayı sağlar.
.conCat(x)        :Stringleri birleştirir.
.compareTo(x)        :Karşılaştırmayı sağlar.

Son Düzenleme: OnlyMann ~ 12 Mart 2009 22:01
wedontneed
13-03-2009, 20:08   |  #6  
OP Taze Üye
Teşekkür Sayısı: 0
8 mesaj
Kayıt Tarihi:Kayıt: Mar 2009

OnlyMann cevabın için teşekkürler bana çok yardımcı olacak.