Konuyu görüntüle
IUCODERS FORUM > Programlama > .NET > C# string arama...
Yazar
reader


avatar

Kayıt: 24.12.2007
19.02.2009-01:32 #57155
Arkadaslar merhaba ,C# ile bir stringin başka bir string içinde kaç defa geçtiğini bulmak istiyorum,yardımcı olacak kaynakları paylaşabilirmisiniz?thinking





Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
19.02.2009-01:39 #57156
static int kacTaneVar(string buyukString,string kucukString){
            int bUzunluk = buyukString.Length;
            int kUzunluk = kucukString.Length;
            int kacTane = 0;
            for (int sayac = 0; sayac <= bUzunluk - kUzunluk; sayac++ )
            {
                if (buyukString.Substring(sayac, kUzunluk) == kucukString)
                    kacTane++;
            }
            return kacTane;
        }






The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
reader


avatar

Kayıt: 24.12.2007
19.02.2009-01:52 #57157
teşekkür ederimpeace





Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
19.02.2009-02:38 #57158
string kelime = "ali";
string cumle = "ali veli ali ali zeynep";
System.Text.RegularExpressions.MatchCollection wordColl = System.Text.RegularExpressions.Regex.Matches(cumle,kelime);
MessageBox.Show(wordColl.Count.ToString());

Mümkün olduğunca .NET frameworkünün kendi fonksiyonlarını kullanmak hız açısından çok etkili olmaktadır peace Tabi kodun kısalığı açısından da.





Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
19.02.2009-02:42 #57159
burakkanmaz yazdi
 

Mümkün olduğunca .NET frameworkünün kendi fonksiyonlarını kullanmak hız açısından çok etkili olmaktadır peace Tabi kodun kısalığı açısından da.


Bu ne yasilly. Ben nerden öğrenicem bütün .NET framework fonksyonlarınıbiggrin. Hem belki microsoft benim kelimemi amerikaya gönderiyodurlaughing





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
offman


avatar
Kayseri
Kayıt: 20.01.2006
19.02.2009-02:43 #57160
            Regex rx = new Regex("kalem");
            string k = "kalemnkalem kalen kalem";
            int a = rx.Matches(k).Count;


Çok basit manada böyle bir yapı kullanabilirsin farklı bir algoritmada kullanılabilir eğer kendin yazacaksan algoritmaları araştırmanı öneririm zira performans olarak dusunecek olursak senin bu işi yapman için n (comlexity) lik bir for loop olması lazım.İlk karakterleri karşılastırırsın eğer match varsa pattern'in ve source'un indexini arttırırsın ve Index Counter'ın eğer pattern'in lenght'ine eşit olursa bir match bulmuş olursun; yoksa source'ın indexini arttırırsın pattern'in indexini sıfıra çekersin. Bu en kötü algoritma olsa gerek geliştirdikce eminim yukardakine yaklaşacaktır.





331. KSD
*.NET DEVELOPER




Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
19.02.2009-02:47 #57161
extreme yazdi
 
Bu ne yasilly. Ben nerden öğrenicem bütün .NET framework fonksyonlarınıbiggrin. Hem belki microsoft benim kelimemi amerikaya gönderiyodurlaughing


Her zaman senden daha iyi kod yazan olduğunu düşünüp internette araştırınca çok daha iyi kodlar bulabiliyorsun. Hatta framework'un içinde hazır fonksiyonlar olduğunu görebiliyorsun. Ben hard-coder lığı sevmiyorum :)

offman yazdi
 
            Regex rx = new Regex("kalem");
            string k = "kalemnkalem kalen kalem";
            int a = rx.Matches(k).Count;



Gökhan'a teşekkür ederim :) Kodu daha kısa hale getirmiş fakat regex'i direk kullanabilmek için kütüphaneyi using ile belirtmek gerekiyor. Ben üst kısımla uğraşılmasın diye uzun uzun yazdım ;)





Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
19.02.2009-02:54 #57162
burakkanmaz yazdi
 
extreme yazdi
 
Bu ne yasilly. Ben nerden öğrenicem bütün .NET framework fonksyonlarınıbiggrin. Hem belki microsoft benim kelimemi amerikaya gönderiyodurlaughing


Her zaman senden daha iyi kod yazan olduğunu düşünüp internette araştırınca çok daha iyi kodlar bulabiliyorsun. Hatta framework'un içinde hazır fonksiyonlar olduğunu görebiliyorsun. Ben hard-coder lığı sevmiyorum :)

o



Evet haklısın ama işin eğlencesi nerdebiggrin.
Bak aklıma bi proje geldi tam senlik. Bi arama motoru yazalım opensource sitelerden kodlar çalsın sonra bunları indexlesin felan biz sorunca bulalımbiggrin.





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
19.02.2009-12:56 #57186
extreme yazdi
 

Bak aklıma bi proje geldi tam senlik. Bi arama motoru yazalım opensource sitelerden kodlar çalsın sonra bunları indexlesin felan biz sorunca bulalımbiggrin.


idea





Yazar
neurorebel


avatar

Kayıt: 15.08.2007
19.02.2009-13:26 #57187
.NET fonksiyonlarının hepsini öğrenmene gerek yok tabi ki :) Sadece böyle bir problem çıktığında "Regular Expressions" diyebilmelisin :) Beğenmezsen kendi regex motorunu yazarsın :) Ha beğenmeyebilirsin çünkü karmaşık ifadelerde çoğu standart paketin regex motoru berbat çalışıyor (Perl, .NET, Java... ).





Do weird and difficult things.

Yazar
reader


avatar

Kayıt: 24.12.2007
19.02.2009-14:38 #57191
Arkadaşlar merhaba bu regex konusu açılmışken ben de birşey sormak istiyorum, regex ile ilgili pek bir bilgim yok, fakat aldığım stringin web adresi olup olmadığını kontrol etmek istiyorum ( www.xxx.xx gibi ) ,nette baktım hep mail adresi kontrolü ile ilgili yazmıslarthinking





Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
19.02.2009-16:42 #57192
reader yazdi
 
Arkadaşlar merhaba bu regex konusu açılmışken ben de birşey sormak istiyorum, regex ile ilgili pek bir bilgim yok, fakat aldığım stringin web adresi olup olmadığını kontrol etmek istiyorum ( www.xxx.xx gibi ) ,nette baktım hep mail adresi kontrolü ile ilgili yazmıslarthinking


Araştırmadım belki vardır ama sağlıksız olacağını düşünüyorum. Neden?
- www.xxx.yyy formatını baz alamazsın çünkü .asia ve .tr.tc ve .cn gibi garip garip uzantılar var biggrin ki yakında www.ali.velidogmazoglu gibi ozel uzantilara da izin verilmesi gundemde.
- Adam www.com olarak girerse yanlış diyemezsin çünkü böyle bir site var biggrin
- www.çiçekci.com yazarsa yine yanlış diyemezsin çünkü böyle bir site de var biggrin

Özetle, web sitelerinin belirli bir formatı yok. Yapabileceğin en mantıklı yol şu olabilir, girilen adresi arka planda kontrol ettirip HTTP 200 OK mesajını görürsen izin verirsin.





Yazar
nohead


avatar
Tristram
Kayıt: 26.08.2006
19.02.2009-16:47 #57194
extreme yazdi
 
...
Bak aklıma bi proje geldi tam senlik. Bi arama motoru yazalım opensource sitelerden kodlar çalsın sonra bunları indexlesin felan biz sorunca bulalımbiggrin.


http://www.google.com/codesearch

you failbiggrin





"The will of the nation" is one of those expressions which have been most profusely abused by the wily and the despotic of every age."
Alexis de Tocqueville


¨


Yazar
burakkanmaz


avatar
Gaziantep
Kayıt: 02.10.2006
19.02.2009-16:49 #57195
nohead yazdi
 
extreme yazdi
 
...
Bak aklıma bi proje geldi tam senlik. Bi arama motoru yazalım opensource sitelerden kodlar çalsın sonra bunları indexlesin felan biz sorunca bulalımbiggrin.


http://www.google.com/codesearch

you failbiggrin


Holy biiiip biggrin RTÜK izin vermedi laughing





Yazar
nohead


avatar
Tristram
Kayıt: 26.08.2006
19.02.2009-16:56 #57196
burakkanmaz yazdi
 
nohead yazdi
 
extreme yazdi
 
...
Bak aklıma bi proje geldi tam senlik. Bi arama motoru yazalım opensource sitelerden kodlar çalsın sonra bunları indexlesin felan biz sorunca bulalımbiggrin.


http://www.google.com/codesearch

you failbiggrin


Holy biiiip biggrin RTÜK izin vermedi laughing

hehehlaughing you puny coder, heil to mighty google!applause
google harikaları bunlar.. çin'deki kodları bile getirme şansı varcool

ideabi başlık altında coder araçlarını, olmazsa olmazlarını toplasak hoş olmaz mı?confused





"The will of the nation" is one of those expressions which have been most profusely abused by the wily and the despotic of every age."
Alexis de Tocqueville


¨


1 2 3
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb