Metin dosyasından çok uzun bir dizeyi nasıl okuyabilirim ve sonra işleyebilirim (sözcüklere bölünür)?Büyük bir dosya sözcüklere nasıl bölünür?
StreamReader.ReadLine()
yöntemini denedim, ancak bir OutOfMemory
istisnası alıyorum. Görünüşe göre, hatlarım çok uzun.
using (var streamReader = File.OpenText(_filePath))
{
int lineNumber = 1;
string currentString = String.Empty;
while ((currentString = streamReader.ReadLine()) != null)
{
ProcessString(currentString, lineNumber);
Console.WriteLine("Line {0}", lineNumber);
lineNumber++;
}
}
Ve kelimelere hat böler kodu: Bit boyutu bölüme
var wordPattern = @"\w+";
var matchCollection = Regex.Matches(text, wordPattern);
var words = (from Match word in matchCollection
select word.Value.ToLowerInvariant()).ToList();
Bölme işlemi için hangi algoritmayı/yöntemi kullandınız? – byako
@byako, burada bunun için kullanmak yöntemdir: 'kamu statik IEnumerable GetLowercasedWords (string metin) { if (string.IsNullOrEmpty (metin)) { return null; } var wordPattern = @ "\ w +"; var matchCollection = Regex.Matches (metin, wordPattern); var words = (Maçtaki kelimeden eşlemeKoleksiyon word.Value.ToLowerInvariant()) ToList(); kelimeleri döndür; } 'Biçimlendirme için özür dilerim. –
StreamReader'ı gerçekte nasıl uyguladığınızı daha iyi ekleyeceğinizden, insanlar orada hata bulabilirler. Sorular için 140 karakter sınırı yoktur. – Jens