Thread Zahl im Text finden und bearbeiten (10 answers)
Opened by EagleFox at 2006-04-13 18:44

sid burn
 2006-04-14 03:58
#64929 #64929
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Ist der Erste Teil immer komplett gleich? Also steht immer "# Number of Points: " vor deiner gesuchten Zeile? Wie ist das mit Leerzeichen? Mehrere oder immer genau ein Leerzeichen nach dem Doppelpunkt?

Ist die zeile nach der zahl immer sofort zu ende? Wenn das alles der Fall ist, würde ich das so schreiben.

Code: (dl )
1
2
$zeile =~ m/^# Number Of Points: (\d+(?:\.\d+)?)$/;
$zahl = $1;


Ein einfaches "\d+" reicht nicht, da alles nach dem Komma nicht erkannt wird. Diese Regex erkennt eine Zahl mit oder ohne Komma.



Wenn du den String direkt bearbeiten möchtest, und den neuen Wert sofort im String ändern möchtest, dann geht auch sowas:

Code: (dl )
1
2
3
$string = "# Number Of Points: 10000.0000";
$string =~ s/(?<=^# Number Of Points: )(\d+(?:\.\d+)?)$/$1-200/e;
print $string, "\n";
\n\n

<!--EDIT|sid burn|1145057443-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread Zahl im Text finden und bearbeiten