2016-03-30 44 views
0

İçinde bir string var, örneğin "Bu bir örnektir." ve bu sentece başka bir deyişle - "küçük bir test". Cümlede kaç kez "küçük bir test" olduğunu bilmek istiyorum. Herhangi bir yol var mı? TeşekkürÇoklu içeriğe sahip ol toplamı

string tmp = "This a little test is a little test an example. a little test"; 
int sum = ...... (the count of "a little test") 
+6

Olası yinelenen [Nasıl bir çizgi sırasını sayılır? Bir dize içinde ng?) (http://stackoverflow.com/questions/541954/how-would-you-count-occurrences-of-a-string-within-a-string) – hellow

+0

@cookiesoft başvurulan başlık olmasına rağmen soru aksi takdirde, asıl soru (ve kabul edilen cevap), OP'nin – Jcl

+0

sorusunu sormadığı bir dizgede tek bir karakterin dönemleri içindir. Lütfen ["Soruların başlığında" etiketler bulunsun mu? " http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles), burada fikir birliği "hayır, yapılmamalıdır"! –

cevap

6

Sen gibi bir şey yapabileceğini:

int sum = Regex.Matches(tmp, "a little test").Count; 

Check it in a fiddle

normal ifadede kullanılabilecek sizin "arama terimi" içerebilir karakterler, sen Regex.Escape kullanmak isteyebilir Eğer :

int sum = Regex.Matches(tmp, Regex.Escape(@"my search term with $pecia| $ymb\0Ls")).Count; 
+1

Parlak. +1. Ayrıca (daha fazla okuma için): http://cc.davelozinski.com/c-sharp/c-net-fastest-way-count-substring-occurrences-string –

+0

@ JᴀʏMᴇᴇ harika bağlantı! – Jcl

İlgili konular