in reply to Re: Substitution don't work
in thread Substitution don't work
Hi James, thank you for your quick help. I've tried your solution and it works. I'm new to perl, so in this first attempt I have only used a tiny bit of the real data. So I have modified your solution a little bit to be able to work with an inputfile and an outputfile.
The modified code is
# Aufruf: perl removeEK1.pl TestEK.txt > Out.txt use strict; use warnings; my $regex = '\{\[%tqu.*]}'; my $subst = ''; while(<>) { my $line =$_; $line =~ s/$regex/$subst/gi; print $line; }
That worked fine with the following file TestEK.txt:
[Event "?"] [Site "?"] [Date "1985.??.??"] [Round "?"] [White "Neuenschwander, Beat"] [Black "?"] [Result "1-0"] [Annotator "Solution"] [SetUp "1"] [FEN "8/5ppk/8/3p2KP/3P2P1/8/8/8 w - - 0 1"] [PlyCount "17"] [Source "ChessCafe/CB"] [SourceDate "2003.10.29"] BlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBla 1. Ka6 ({Of course not} 1. b6 $2 Kb7 $11) 1... Kb8 (1... f4 2. b6 $18) + {[%tqu "What is White's next move?","","",g3,"",0,b6,"misses the wi +n:",0]} 2. g3 $1 13. g6 c3 BlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBla 1. Ka6 ({Of course not} 1. b6 $2 Kb7 $11) 1... Kb8 (1... f4 2. b6 $18) + {[%tqu "What is White's next move?","","",g3,"",0,b6,"misses the wi +n:",0]} 2. g3 $1 13. g6 c31. Ka6 ({Of course not} 1. b6 $2 Kb7 $11) 1 +... Kb8 (1... f4 2. b6 $18) {[%tqu "What is White's next move?",""," +",g3,"",0,b6,"misses the win:",0]} 2. g3 $1 13. g6 c31. Ka6 ({Of cour +se not} 1. b6 $2 Kb7 $11) 1... Kb8 (1... f4 2. b6 $18) {[%tqu "What i +s White's next move?","","",g3,"",0,b6,"misses the win:",0]} 2. g3 $ +1 13. g6 c3 1. Ka6 ({Of course not} 1. b6 $2 Kb7 $11) 1... Kb8 (1... f4 2. b6 $18) + {[%tqu "What is White's next move?","","",g3,"",0,b6,"misses the wi +n:",0]} 2. g3 $1 13. g6 c3 BlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBla BlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBla BlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaB +laBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBlaBla
I got the output I wanted, but when I tested it with a part of my real inputfile, it failed.
....... [Event "?"] [Site "?"] [Date "1933.??.??"] [Round "?"] [White "Grigoriev, Nikolay"] [Black "?"] [Result "*"] [Annotator "Solution"] [SetUp "1"] [FEN "k7/2p5/8/KP3p2/8/8/6P1/8 w - - 0 1"] [PlyCount "13"] [Source "ChessCafe/CB"] [SourceDate "2003.10.29"] 1. Ka6 ({Of course not} 1. b6 $2 Kb7 $11) 1... Kb8 (1... f4 2. b6 $18) {[%tqu "Wha +t is White's next move?","","",g3,"",0,b6,"misses the win:",0]} 2. g3 $1 ({ +The hasty } 2. b6 $2 {misses the win:} Kc8 $1 {with the idea 3...cxb6.} 3. b7+ K +b8 4. g3 c5 5. Kb5 Kxb7 6. Kxc5 Kc7 7. Kd5 f4 $1 8. gxf4 Kd7 $11 {Black saves t +he game by seizing the opposition.}) 2... Ka8 ({Another defensive method also +does not help} 2... Kc8 3. Ka7 Kd8 4. Kb8 $1 {(an opposition!)} Kd7 5. Kb7 Kd8 +(5... Kd6 6. Kc8 $18) 6. Kc6 {(an outflanking!)} Kc8 7. Kd5 Kb7 8. Ke5 Kb6 9. Kx +f5 Kxb5 10. g4 c5 11. g5 c4 12. Ke4 $1 {(we shall see this method - an enticem +ent of the hostile king under a check - more than once in this book)} Kb4 13. + g6 c3 14. Kd3 $1 Kb3 15. g7 c2 16. g8=Q+) {[%tqu "What is White's next move? +","","", b6,"",0]} 3. b6 Kb8 { } 4. Kb5 $1 (4. b7 $2 c5 5. Kb5 Kxb7 $11) 4... Kb7 5. bxc7 Kxc7 {[%tqu + "What is White's next move?", "","",Kc5,"",0]} 6. Kc5 Kd7 {[%tqu "What is White's next move?","","", +Kd5, "This time White has seized the opposition, therefore the pawn sacrifi +ce 7... f4 is senseless.",0]} 7. Kd5 $18 {This time White has seized the oppos +ition, therefore the pawn sacrifice 7...f4 is senseless.} * [Event "?"] [Site "?"] .......
My outputfile now was the same as the inputfile, the searchtext was not removed!! While in my first attempt I made relatively simple errors, now I think it's difficult and I'm not able to spot what is going wrong. Pherhaps you have an idea?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Substitution don't work
by AnomalousMonk (Archbishop) on Aug 24, 2015 at 12:53 UTC | |
by OldChamp (Acolyte) on Aug 25, 2015 at 08:10 UTC | |
by AnomalousMonk (Archbishop) on Aug 25, 2015 at 15:00 UTC |