Forum: PC-Programmierung [c#] Paragraphen extrahieren und Häufigkeit ermitteln


von Ent (Gast)


Lesenswert?

Ich möchte aus einem Text textBox1.Text alle Paragraphen und Normen 
extrahieren. Das heißt: Immer wenn ein § <Nummer> <Gesetz> dort steht, 
dies in eine Liste einfügen.

Gesetz ist in diesem Fall einfach ein Wort. Anschließend soll die 
Häufigkeit ermittelt und in eine Liste vom Typ

class Paragraphen
{
public string Paragraph {get;set;}
public int Haeufigkeit {get;set;}
}

eingetragen werden. Also bspw:

"Hat sich der gefährlichen KV nach § 224 StGB strafbar gemacht(...)§ 224 
StGB(...)§ 224 StGB(...)§ 223 StGB"

(...) steht nicht so im Text, soll einfach ein Platzhalter für anderen 
Text sein.

sollte

§ 224 StGB,3
§ 223 StGB,1

ergeben.

Ich habe mit substring angefangen, suche aber eine einfachere 
Möglichkeit.

von Doan (Gast)


Lesenswert?

Versuchs doch mal mit nem regulärem Ausdruck, in etwa so (je nach 
System):
§ \d+ \w+

von Prog R. (daniel_v)


Lesenswert?

hier sind einige Ideen mit Beispielen ausprogrammiert.
Ob es einfacher als substring ist, sei dahingestellt, aber zumindest 
liefert es dir ein paar Ansätze.

http://www.dotnetperls.com/indexof

von jb (Gast)


Lesenswert?

PseudoCode:

Gehe den Text Zeichen für Zeichen durch.
Für jedes Zeichen
  -prüfe ob es das Paragraphen-Zeichen ist?
      -wenn ja:
          prüfen ob Paragraph schon in der Liste
             wenn nein:
                 Paragraph in Liste neu einfügen und Haufigkeit setzen
             wenn ja:
                 Haufigkeit des exestierenden Eintrags erhöhen


gruß jb

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.