Thread Noob mit Regex Problemstellung (6 answers)
Opened by NitroXpress at 2015-05-02 10:59

charly54
 2015-05-02 13:21
#180897 #180897
User since
2015-04-24
10 Artikel
BenutzerIn
[default_avatar]
Hallo Frank,

so könnte das klappen:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/usr/bin/perl
use strict; 
use warnings;

my @array = <DATA>;
foreach( @array ){

s/G1/G0/ if(m/F30000/);

print $_;
}

__DATA__
G1 Z0.500 F30000
G1 X13.379 Y-36.065 F30000
G1 Z0.100 F30000
G1 E76.00000 F300000
G1 X13.760 Y-35.411 E76.37759 F2400.000
G1 X14.123 Y-34.917 E76.68356
G1 X14.170 Y-34.656 E76.81576
G1 X14.133 Y-34.485 E76.90331
G1 X14.038 Y-34.357 E76.98253
G1 X13.947 Y-34.323 E77.03113
G1 X13.673 Y-34.283 E77.16949
G1 X13.078 Y-34.094 E77.48100
G1 X13.163 Y-33.464 E77.79807
G1 X13.321 Y-33.182 E77.95920


Zur Erklärung:
Daten in ein Array packen und dieses dann abarbeiten
Der erste Regex ersetzt G1 durch G0, wenn die Bedingung im 2. Regex (if-Teil) erfüllt ist.
print $_ gibt das Ergebnis aus.

Das geht aber hier nur, wenn G1 nur einmal je Zeile vorkommt.
Ich hoffe es hilft etwas und weiterhin viel Spaß mit Perl!
Gruß,

charly54.

View full thread Noob mit Regex Problemstellung