Thread Textteilvergleiche in 2 Strings (5 answers)
Opened by LuckyLuke at 2017-12-11 17:34

LuckyLuke
 2017-12-11 17:34
#187710 #187710
User since
2017-12-11
4 Artikel
BenutzerIn
[default_avatar]
Hallo!
Ich habe ein kleines Script geschrieben, indem in $text1 ein Textteil gesucht wird, der vom Grundsatz her so aussieht: <?align "ac01001000"?>. Es gibt einige hundert dieser Textteile, die sich alle in der Zahl unterscheiden. Ich suche nach dem 1. Vorkommen eines solchen Textteils in $text1 speichere das Ergebnis in $checker1 und suche in $text2, ob dieser Text dort auch drin ist.
Dann folgt ein if-else-Block, der eine unterschiedliche Vorgehensweise festlegt, je nachdem, ob der Textteil auch in $text2 vorkommt oder nicht.
In dem Script muss irgendwo ein Fehler sein, da schon der erste Match in beiden Texten ($text1 und $text2) vorkommt, aber von der if-Bedingung wird IMMER zu "else" verzweigt und entsprechend ausgegeben.
Hier kommt der entscheidende Ausschnitt des Scripts:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
my $checker1 = "";
my $checker2 = "";
my $i = 0;
while ($i < 50) {
$i++ ;
$text1 =~ s/<\?align \"ac(\d+)\"\?>/XXXYYYXXX/ ;
$checker1 = $& ;
$checker2 = $1 ;

if ($text2 =~ ?${checker1}?) {
$text1 =~ s/XXXYYYXXX/<\?ZZZZalign \"ad${checker2}\"\?>/ ;
$text2 =~ s/${checker1}/<\?ZZZZalign \"ad${checker2}\"\?>/ ;
}
else {$text1 =~ s/XXXYYYXXX/yyy${checker2}yyy/}
}

Schon mal vielen Dank für Eure Hilfe!
Walter
Last edited: 2017-12-11 17:55:45 +0100 (CET)

View full thread Textteilvergleiche in 2 Strings