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

Regular Expressions -> Datei auslesen: Mit RE eine betsimmte Zeile auslesen

Leser: 1


<< |< 1 2 >| >> 15 Einträge, 2 Seiten
Gast Gast
 2004-03-08 13:58
#80735 #80735
Hallo,

ich habe eine Frage zu den Regular expressions. Ich habe ein Problem, mit dem auslesen einer Datei...

Folgendes: Ich lese die Registry über cmd aus und schreibe dies in eine Datei. Ein eintrag in dieser Datei sieht dann so aus: "\UAS NT4.0 Version =6.002". Das ist immer einer der letzten Einträge. Ich will nun den Eintrag so auslesen, das ich nur die Versionsnummer 6.002 in einer Variablen habe. Kriege ich das mit reg expressions hin? Wäre über ein Codeschnippsel sehr dankbar.

Schon mal danke für die Hilfe

Ciao Kersten
Ronnie
 2004-03-08 14:03
#80736 #80736
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Wenn du sicher sein kannst das es immer durch das "=" getrennt wird:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl

use strict;
use warnings;

while (<DATA>) {
 my $value = $_;
 if ($value =~ m/.*=(.*)$/) { print $1,"\n"; }
}


\UAS NT4.0 Version   =6.002
testiwguiwoi
iwguiwbui
wiubfbuigw=7


Sorry, erster Ansatz war falsch.\n\n

<!--EDIT|Ronnie|1078747715-->
Crian
 2004-03-08 14:03
#80737 #80737
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
Code: (dl )
1
2
my $string = '\UAS NT4.0 Version   =6.002'; # der backslash ist beunruhigend
(undef, my $version) = split /=/, $string;


getestet\n\n

<!--EDIT|Crian|1078747663-->
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
Crian
 2004-03-08 14:08
#80738 #80738
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
RE ist mal wieder overkill, imho
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
Ronnie
 2004-03-08 14:09
#80739 #80739
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
womit du Recht hast, wenn es sich immer mit dem "=" trennen lässt.
Wieso wird eigentlich --DATA-- (mit _ verschwindet es auch hier) aus meinem Code-Block entfernt?\n\n

<!--EDIT|Ronnie|1078747862-->
Crian
 2004-03-08 14:13
#80740 #80740
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
Forum-BUG, wird Zeit fürs neue Forum...

Die drei nervigsten Dinge:

1) Nicht Anzeige von aktuell / nicht aktuell bei Beiträge der letzten 24 h
2) Erstes Whitespace wird in code-Block geklaut
3) Doppel-Underscore-Problem

Aber wie gesasgt, es lohnt sich nicht mehr das hier zu beheben...\n\n

<!--EDIT|Crian|1078748081-->
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
drknowhow
 2004-03-08 14:51
#80741 #80741
User since
2004-03-08
4 Artikel
BenutzerIn
[Homepage] [default_avatar]
Danke, das das so schnell ging. Hat mir auch sehr geholfen, aber ich habe ein Problem, da diese Versionsnummer öfters wechselt... Sorry, hatte ich nicht erwähnt, wie kann ich jetzt die Zeile "\UAS NT4.0 Version" auslesen, und was hinter dem "=" steht als Variable benutzen??

Danke

cu Kersten
renee
 2004-03-08 14:53
#80742 #80742
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
siehe 1. Post von Crian... in $version steht jetzt die Versionsnummer...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
drknowhow
 2004-03-08 15:07
#80743 #80743
User since
2004-03-08
4 Artikel
BenutzerIn
[Homepage] [default_avatar]
Danke...
Crian
 2004-03-08 15:41
#80744 #80744
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
Ev. ist mein obiger Code noch nicht ganz das, was Du brauchst. Poste einfach mal einen relevanten Ausschnitt aus Deinem Code, falls es noch nicht funktioniert.
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
<< |< 1 2 >| >> 15 Einträge, 2 Seiten



View all threads created 2004-03-08 13:58.