.net C# içinde çalışıyorum ve bir string metnim var = "FFF'nin hayal edebileceği herhangi bir metin hangisi olursa olsun"; İhtiyacım olan şey, dize metninde "FFF" nin görüntülenme miktarını elde etmektir. Bunu nasıl yapabilirim? Teşekkür ederiz.Bir dizenin içindeki belirli dizgilerin sayısı
cevap
Bunun için normal ifadeleri kullanabilirsiniz ve sağ şey hakkında istediğiniz:
string s = "Whatever text FFF you can FFF imagine";
Console.WriteLine(Regex.Matches(s, Regex.Escape("FFF")).Count);
teşekkürler mucho mükemmel çalışıyor – euther
bunu kullanın için System.Text.RegularExpressions.Regex: Burada
string p = "Whatever text FFF you can FFF imagine";
var regex = new System.Text.RegularExpressions.Regex("FFF");
var instances = r.Matches(p).Count;
// instances will now equal 2,
olan 2 yaklaşımlar. Normal ifadelerin diğer kelimelerle eşleşmesini önlemek için normal ifadenin \b
meta karakterini kullanması gerektiğini unutmayın. Şimdiye kadar gönderilen çözümler, yanlış bir şekilde "fooFFFbar" içindeki "FFF" yi bir eşleşme olarak sayar. Kolayca gerekirse birkaç farklı dizeleri kullanmak için bu ince ayar olabilir
string s = "Whatever text FFF you can FFF imagine FFF";
//Split be the number of non-FFF entries so we need to subtract one
int count = s.Split(new string[] { "FFF" }, StringSplitOptions.None).Count() - 1;
:
string text = "Whatever text FFF you can FFF imagine fooFFFbar";
// use word boundary to avoid counting occurrences in the middle of a word
string wordToMatch = "FFF";
string pattern = @"\b" + Regex.Escape(wordToMatch) + @"\b";
int regexCount = Regex.Matches(text, pattern).Count;
Console.WriteLine(regexCount);
// split approach
int count = text.Split(' ').Count(word => word == "FFF");
Console.WriteLine(count);
+1. Ancak OP hiçbir zaman kelimeleri saydığını ve bu yüzden bir yorumlama meselesi olduğunu belirtir. –
@ João teşekkürler, bu ek yaklaşımlarla göndermeye karar vermeden önce daha önce sizi + 1'lediniz. –
İşte düzenli ifadeler bir alternatiftir.
- 1. C# içindeki bir dizenin görüntü genişliğini hesaplayın?
- 2. Belirli bir alt dizenin tüm indekslerini döndürme
- 3. Delphi XE3 - Dizgilerin birleştirilememesi
- 4. Bir dizenin
- 5. PowerShell'i Biçimlendirme Dizenin içindeki Get-Date
- 6. Bash kullanarak bir dosya içindeki bir dizenin oluşumlarını nasıl sayabilirim?
- 7. Golang'da bir dizenin içindeki tek bir karakter nasıl değiştirilir?
- 8. Belirli bir karakterin bir dizede görüntülenme sayısı
- 9. C# içindeki bir dizenin ilk ve son karakteri nasıl kaldırılır?
- 10. Akıştan belirli bir bayt sayısı nasıl okunur?
- 11. Belirli bir sözcük ile başlayan satır sayısı
- 12. Dize içindeki belirli karakterlerin sayısını sayma
- 13. Belirli bir karakterden önce bir dizenin son bölümünü nasıl alabilirim?
- 14. Dizenin yalnızca belirli bölümleri nasıl yazdırılır?
- 15. Android: Zip içindeki Dosyaların Sayısı Al?
- 16. Belirli yamalar içindeki belirli bir değere sahip yamalar sayısını sayın
- 17. Python'da .txt dosyasında belirli bir dizenin satırına nasıl ekleyebilirim?
- 18. Bir dizenin sonundaki belirli karakterleri kaldırın (html öğeleri)
- 19. Bir dizenin python
- 20. CSS'de bir ul içindeki belirli bir madde işaretini nasıl kaldırırım?
- 21. Bir dizenin bir parçasını python
- 22. Dizide toplam öğe sayısı sayısı olsun
- 23. UIView'de Belirli Bir Alt Görünümün sayısı nasıl alınır?
- 24. Raylar: belirli bir rasgele kayıt sayısı elde edin
- 25. Belirli bir uzunluğun maksimum sayısı nasıl elde edilir
- 26. Gradle Bağımlılık içindeki belirli dosyaları hariç tut
- 27. İki dizenin içine bir alt dizgi alın
- 28. Bir dizenin tarih içerip içermediğini kontrol edin
- 29. Bir dizenin parçası nasıl kaldırılır?
- 30. Dizenin bir bölümünü nasıl karşılaştırabilirim?
"Frekans" ın "miktar" dan daha iyi bir kelime olduğuna inanıyorum. – polygenelubricants
"X FFFF Y" sıfır, bir veya iki eşleşme olarak sayılıyor mu? –
@polygenelubricants: Hayır, "miktar" burada "frekans" dan daha iyidir. (“Sayı”, “miktar” dan daha idiyotik olsa da.) A * miktar * sadece bir sayı anlamına gelir. A * frekansı * numunenin boyutu göz önüne alındığında ne sıklıkla meydana geldiğine dair bir sayı * belirtmektedir. Örneğin, verilen cümlede "FFF" nin * miktarı * ikidir. "FFF" nin * frekansı "her üçüncü kelime" dir. –