Regex zum Extrahieren von Absatztexten

28/02/2009 - 19:54 von Peter Acker | Report spam
Hallo,
ich suche ne Regex, die mir schlicht nur die Absàtze eines Textes als
Matchcollection zurückgibt, die Absatzmarken sollen außen vor bleiben. Mit
dem Pattern ^ als Negierung der Absàtze klappts aber nicht. Weiß jemand
wie der Pattern aussieht? Mit und der Betrachtung wie die Grenzen liegen
hab ich zwar die Aufgabe erstmal gelöst aber es müßte doch eine Regex geben,
die bereits in der Collection sofort die Absatzliste zurückgibt.
Mit Split möchte ich die Zerlegung nicht machen, da ich auch die Position
der Absartzanfànge haben möchte

Danke Peter
 

Lesen sie die antworten

#1 Frank Dzaebel
28/02/2009 - 21:56 | Warnen spam
Hallo Peter,

ich suche ne Regex, die mir schlicht nur die Absàtze eines Textes als
Matchcollection zurückgibt, die Absatzmarken sollen außen vor
bleiben.



Es kommt etwas darauf an, wie in Deinem Text
die Umbrüche codiert sind, aber vielleicht mal
ein Beispiel/Möglichkeit:

string pattern = "^.*(?=" + Environment.NewLine + ")";
Regex rxLines;

private void Form1_Load(object sender, EventArgs e)
{
rxLines = new Regex(pattern, RegexOptions.Multiline
| RegexOptions.Compiled);

string text = @"Guten Tag,
dies ist ein Text mit mehreren Zeilen.
Dies ist die dritte.
Und dies ist die vierte
";
MatchCollection matches = rxLines.Matches(text);

StringBuilder sb = new StringBuilder();
foreach (Match match in matches)
sb.AppendLine(match.Index +": "+match.Value);
MessageBox.Show(sb.ToString());
}
_________

BTW ... es gibt in einer TextBox zum Beispiel
auch die Lines-Auflistung.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen