Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]6043[/thread]

string auflösen



<< >> 5 Einträge, 1 Seite
Gast Gast
 2004-01-28 09:44
#79600 #79600
Hallo!

Ich habe folgenden string:

Code: (dl )
$string = "Betrag 500,-ATS; GV vom 01.02.2003,GF:A.) Max Mustermann, geb. 19.03.1966ist beschaeftigt seit 17.02.1956 selbstaendig Funktion geloescht B.) Maria Musterfrau, geb. 01.01.1967 vertritt seit 08.10.1992 selbständig Funktion gelöscht";

Dieser string sollte wie folgt aufgeteilt werden:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$array[0]  = "Betrag 500,-ATS";
$array[1] = "GV";
$array[2] = "vom";
$array[3] = "01.02.2003";
$array[4] = "GF:";
$array[5] = "A.)";
$array[6] = "Max Mustermann";
$array[7] = "geb.";
$array[8] = "19.03.1966";
$array[9] = "ist beschaeftigt seit";
$array[10] = "17.02.1956";
$array[11] = "selbstaendig";
$array[12] = "Funktion geloescht";
$array[13] = "B.)";
$array[14] = "Maria Musterfrau";
$array[15] = "geb.";
$array[16] = "01.01.1967";
$array[17] = "vertritt seit";
$array[18] = "08.10.1992";
$array[19] = "selbständig";
$array[20] = "Funktion gelöscht";


Allerdings kann der string auch so aussehen:
Code: (dl )
$string = "GESELLSCHAFTER  D   Dr. Max Mustermann, RA seit 01.12.2003 Funktion gelöscht";

Dieser sollte dann so aufgelöst werden:
Code: (dl )
1
2
3
4
5
6
7
$array[0]  = "GESELLSCHAFTER";
$array[1] = "D";
$array[2] = "Dr. Max Mustermann";
$array[3] = "RA";
$array[4] = "seit";
$array[5] = "01.12.2003";
$array[6] = "Funktion gelöscht";


oder der string sieht so aus:
Code: (dl )
$string = "Das ist die Mustermann Gesellschaft m.b.H";

Da sollte der string so aufgelöst werden:
Code: (dl )
1
2
3
4
$array[0]  = "Das";
$array[1] = "ist";
$array[2] = "die";
$array[3] = "Mustermann Gesellschaft m.b.H";


Waere echt super wenn mir da jemand helfen koennte!

Gruss
ronald
 2004-01-28 10:22
#79601 #79601
User since
2003-08-15
76 Artikel
BenutzerIn
[default_avatar]
mit welchem RE hast du es denn bisher versucht?

Tipp: beginne nicht mit derart langen Strings, sondern taste dich langsam an die RE ran. In jedem perl-Buch ist eine Einführung zu RE zu finden, die dir sicher weiterhelfen wird.
ronald
 2004-01-28 10:24
#79602 #79602
User since
2003-08-15
76 Artikel
BenutzerIn
[default_avatar]
Sehe ich das richtig, dass das Komma bei "01.02.2003,GF:A.)" als Trennzeichen interpretiert wird und verschwindet, während bei "19.03.1966ist" getrennt werden soll?

Falls ja, wäre es ganz hilfreich, wenn du deinen Algorithmus etwas näher erläutern könntest.
esskar
 2004-01-28 10:30
#79603 #79603
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
du brauchst wohl keine re sondern eher eine texterkennung!
Crian
 2004-01-28 11:37
#79604 #79604
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
Wenn es hier zufällig um HR-Texte geht... die passende Texterkennung wirst Du nicht aus dem Ärmel schütteln können.

Mit einer Texterkennung für eine bestimmte Art von Strings beschäftige ich mich nämlich ... das Texterkennungssystem, das wir gebaut haben bzw. bauen (ist noch nicht fertig...) besteht mittlerweile aus ca 1,8k RE's ... also wenn Du nicht ganz klare Angaben zur Struktur Deiner Texte machen kannst, wirds schwierig...
Wenn es aber eine klare Aufteilung in irgendwelche Felder gibt, hast Du natürlich leichtes Spiel. Ansonsten wirst Du ähnlich wie ich wohl anfangen müssen, die Inhalte genau zu analysieren...\n\n

<!--EDIT|Crian|1075283023-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< >> 5 Einträge, 1 Seite



View all threads created 2004-01-28 09:44.