Verilerin tekrarı içeriğin değerini azaltabilir. Bir yazar olarak çalışırken, DRY(kendini tekrar etme) ilkesini izlemelisiniz. Kelime sayısı veya her kelimenin tekrar sayısı gibi istatistikler, içeriği analiz etmenize izin verebilir, ancak bunu birden fazla belge için manuel olarak yapmak zordur. Dolayısıyla bu makale, C# kullanarak PDF, Word, Excel, PowerPoint, e-Kitap, İşaretleme ve E-posta belge biçimlerinde programlı olarak sözcüklerin ve her bir sözcüğün sözcük oluşum sayısının nasıl sayılacağını gösterir.
Kelimeleri ve Olayları Saymak için .NET API
GroupDocs.Parser, geliştiriciler için belge ayrıştırma çözümü sağlar. Belgelerden metin çıkarmak ve oluşumları saymak için GroupDocs.Parser for .NET kullanacağız. API ayrıca kelime işlem belgeleri, sunumlar, elektronik tablolar, e-postalar, veritabanları, e-Kitaplar ve diğerleri gibi uzun bir desteklenen belge biçim listesinden görüntülerin ve meta verilerin çıkarılmasına olanak tanır.
İndirmeler bölümünden DLL’leri veya MSI yükleyicisini indirebilir veya NuGet yoluyla .NET uygulamanıza paketini ekleyerek API’yi yükleyebilirsiniz.
PM> Install-Package GroupDocs.Parser
C# kullanarak Kelimeleri Say
Kelimelerin sayılması için asıl mesele, belgenin tüm içeriğini ayrıştırmak ve çıkarmaktır. Metnin çıkarılmasından sonra, içeriğini bir cümle ve kelime koleksiyonuna bölebiliriz. Aşağıdaki adım, C# kullanarak belgedeki sözcüklerin sayılmasına izin verir.
- Parser sınıfını kullanarak belgeyi yükleyin.
- Yüklenen belgenin metnini TextReader‘a getirin.
- Almak the text of the document from the TextReader as a string.
- Metni kelimelere ayırın ve bunları bir dize dizisine kaydedin.
- Kelime sayımı gerçekleştirin.
Aşağıdaki C# kaynak kodu, bir belgedeki sözcük sayısını sayar.
// C# kullanarak PDF belgesindeki Kelimeleri Say
using (Parser parser = new Parser("path/document.pdf"))
{
// Bir metni okuyucuya çıkarın
using (TextReader reader = parser.GetText())
{
string text = reader.ReadToEnd();
char[] chars = { ' ', '.', ',', ';', ':', '?', '\n', '\r' };
// bölünmüş kelimeler
string[] words = text.Split(chars);
// toplam kelime sayısını yazdır
Console.WriteLine("Total word count: {0}", stats.Count);
}
}
C#’ta Kelimelerin Oluşumunu Say
Benzer şekilde, belgede belirli bir kelimenin veya ifadenin kaç kez kullanıldığını sayabiliriz. Bu özelliği kullanarak, bir makaledeki herhangi bir kelimenin aşırı tekrarını önleyebilirsiniz. Aşağıdaki adımlar, bir belgede kullanılan her bir kelimenin tekrarını sayar.
- Parser sınıfını kullanarak belgeyi yükleyin.
- Yüklenen belgenin metnini TextReader içine alın.
- Tüm metni okuyun ve kelime koleksiyonuna bölün.
- Kelimeleri saymak için kelime koleksiyonunu gezin.
Aşağıdaki C# kod parçacığı, belgedeki her benzersiz sözcüğün geçişini sayar.
// C# kullanarak Benzersiz Sözcükleri ve bunların PDF belgesindeki oluşumlarını sayın
using (Parser parser = new Parser("path/document.pdf"))
{
// Metni TextReader'a çıkarın
using (TextReader reader = parser.GetText())
{
Dictionary<string, int> stats = new Dictionary<string, int>();
string text = reader.ReadToEnd();
char[] chars = { ' ', '.', ',', ';', ':', '?', '\n', '\r' };
// bölünmüş kelimeler
string[] words = text.Split(chars);
int minWordLength = 2; // Consider a word having more than 2 characters
// olayları saymak için kelime koleksiyonu üzerinde yineleme yapın
foreach (string word in words)
{
string w = word.Trim().ToLower();
if (w.Length > minWordLength)
{
if (!stats.ContainsKey(w))
{
stats.Add(w, 1); // add new word to collection
}
else
{
stats[w] += 1; // update word occurrence count
}
}
}
// koleksiyonu kelime sayısına göre sırala
var orderedStats = stats.OrderByDescending(x => x.Value);
// Kelime sayısını yazdır Sonuçlar
Console.WriteLine("Total word count: {0}", stats.Count);
foreach (var pair in orderedStats)
{
Console.WriteLine("Total occurrences of {0}: {1}", pair.Key, pair.Value);
}
}
}
Yukarıdaki kodun çıktısı aşağıdadır:
Ücretsiz API Lisansı Alın
API’yi değerlendirme sınırlamaları olmadan kullanmak için ücretsiz bir geçici lisans alabilirsiniz.
Çözüm
Özetle, C# kullanarak bir belgedeki sözcükleri saymayı öğrendiniz. Ek olarak, belgedeki her bir kelime için kelime geçiş sayısını nasıl elde edebileceğimizi tartıştık. Çevrimiçi sözcük sayacı .NET uygulamanızı geliştirmeyi deneyin. Daha fazla ayrıntı ve API hakkında bilgi edinmek için belgeleri ziyaret edin. Sorularınız için forum aracılığıyla bize ulaşın.