2009-05-26 9 views
1

Dies ist Wht ich in einer Datei bekam:Wie teile ich Text aus einer Datei? Hallo

AT+CMGL="ALL" 
+CMGL: 6123,"REC READ","+923315266206" 
B confident dat GOD can make a way wen der seems 2 b no way. Even wen your mind may waver, GOD is working bhind d scenes on yur behalf. Have a faith-filled day 
+CMGL: 6122,"REC READ","+923315266206" 
B confident dat GOD can make a way wen der seems 2 b no way. Even wen your mind may waver, GOD is working bhind d scenes on yur behalf. Have a faith-filled day 

---------------------------------------------------------------------------------

Ich möchte nur die Linien d.h Text aus dem file.Like bekommen „B zuversichtlich ........ pendeln“. Wie mache ich das?

habe ich versucht, mit Spaltung, aber ich kann es nicht laufen bekommen ..... :)

+0

Wenn es nur eine Zeichenfolge, die Sie teilen möchten ist, warum es nicht manuell geteilt, wenn es mehr als einen String aufgeteilt ist, müssen Sie um mehr Informationen über die Eigenschaften der anderen Saiten zu geben. Bitte beachten Sie auch, dass die Rechtschreibung und Grammatik in diesem Zitat ungeheuerlich schrecklich ist, und ich würde Sie bitten, es ohne Korrekturen nicht zu kopieren. –

+1

re: Rechtschreibung ... vielleicht ist es eine neue iQuoteTheBible App? :) – patjbs

+2

Möglicherweise SMS-Spam von irgendeinem Typ. – Jagd

Antwort

4

die Datei Lesen mit einem Stream und die Methode Readline verwenden, das die Datei eine Zeile zu einem Zeitpunkt gelesen wird.

using (StreamReader reader = File.OpenText(fileName)) 
{ 
    while (!reader.EndOfStream) 
    { 
     string line = reader.ReadLine(); 
     // do something with the line 
    } 
} 
3

Nachfolgend erhalten Sie für Ihre Zeilen in ein String-Array erhalten:

string[] lines = File.ReadAllLines(pathToFile); 

So:

lines[2]; 
lines[4]; 

Wollen Sie diese Zeilen erhalten.

Siehe die msdn-Dokumentation für ReadAllLines.

0

Kann den streamReader verwenden, um die Zeilen einzulesen und einen Regex zu verwenden, um bestimmte Zeilen zu vergleichen ... wenn es ein Muster gibt, das Sie abgleichen möchten.

Beispiel:

using System.IO; 
using System.Text.RegularExpressions; 

Regex pattern = new Regex("^B"); 
List<string> lines = new List<string>(); 
using (StreamReader reader = File.OpenText(fileName)) 
{ 
    while (!reader.EndOfStream) 
    { 
     string line = reader.ReadLine(); 
     Match patternMatch = pattern.Match(blah); 

      if (patternMatch.Groups.Count > 0) 
      { 
       lines.Add(blah); 
      } 
    } 
} 
2

Sieht aus wie jede Zeile in der Probe, die nicht "gültig" ist beinhaltet den Text "+CGML". In diesem Fall sollte dies den Trick:

public static IEnumerable<string> GetText(string filePath) 
{ 
    using (StreamReader sr = new StreamReader(filePath)) 
    { 
     string line; 
     while ((line = sr.ReadLine()) != null) 
     { 
      if (line.IndexOf("+CMGL") < 0) yield return line; 
     } 
    } 
} 
Verwandte Themen