Thread If - Then - Ersetze Syntax (11 answers)
Opened by NeVe at 2019-07-30 08:03

NeVe
 2019-08-05 09:58
#190340 #190340
User since
2019-07-30
4 Artikel
BenutzerIn
[default_avatar]
2019-08-05T07:50:08 GwenDragon
Idee, ich nehme an die Felder haben immer das auszulesende Wort und die null an denselben Stellen:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#Vorher:
#
#MARIS|DOC|XXXXXX|CH2 endgültiger Arztbrief|XXXXX|XXXXX|8018221|XXXXX|XXXXX|20190527|null||null|20190527|ZWMAB
#
#Nachher:
#
#MARIS|DOC|XXXXX|CH2 endgültiger Arztbrief|XXXXX|XXXXX|8018221|XXXXX|XXXXX|20190527|200088||CH2|20190527|ZWMAB

my $line = "ARIS|DOC|XXXXXX|CH2 endgültiger Arztbrief|XXXXX|XXXXX|8018221|XXXXX|XXXXX|20190527|null||null|20190527|ZWMAB";
my @felder = split '|',$line;
if ($felder[3] =~ /(.+) /) {
$felder[10] = 200088;
$felder[12] = $1;
}



Danke soweit für deine Bemühung.
Ja die Zeichen stehen immer an selber Position.

Der Code klappt aber nicht.
Der Perl / REGEX Tester gibt mir folgende Meldungen:

| An alternator at this position effectively truncates the entire pattern, rendering any other tokens beyond this point useless
/ An unescaped delimiter must be escaped with a backslash (\)
/ An unescaped delimiter must be escaped with a backslash (\)


Wie bereits erwähnt, ich wäre auch zufrieden wenn in allen vorhandenen .DAT Dateien eines Ordners der Line Break entfernt wird.

View full thread If - Then - Ersetze Syntax