in reply to How do I search and replace a string with quotes
Just do something like this
my $string = q/aab"123"bcc abc="123" abc="345" aab"123"bcc/; $string =~ s/(abc="123")/$1 aabbcc/; # or better (doesn't do unnecessary replacing) $string =~ s/(?<=abc="123")/ aabbcc/; __END__ Benchmark: timing 300000 iterations of lookback, normal... lookback: 4 wallclock secs ( 4.32 usr + 0.01 sys = 4.33 CPU) @ 69 +348.13/s (n=300000) normal: 6 wallclock secs ( 6.01 usr + 0.02 sys = 6.03 CPU) @ 49 +759.50/s (n=300000) Rate normal lookback normal 49759/s -- -28% lookback 69348/s 39% --
A suggestion for the next time, post some code (and the error message you get) so that we can see what you have so far ...
Update: AM is right, the positive lookahead was wrong. I replaced it with a lookbehind and now it works. To show the benefit I also included a small benchmark. As is always the case with benchmarks - results vary depending on the length of the text being replaced.
-- Hofmator
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: How do I search and replace a string with quotes
by Anonymous Monk on Jul 26, 2001 at 20:39 UTC |