Thank you!
That segment of code was replacing 0030, 0031 ect with 9999. If I remove that coding, how do I accomplish the same result? | [reply] |
If I remove that coding, how do I accomplish the same result?
If you remove something, and want the same result back, you can just put the code back in. Same result as before is practically guaranteed.
I could guess that your real problem is a bit different: you removed lines that should have done X, but replaced 0030 with 9999 instead. You want to know, what code should be put in the place of those lines, so it does what you want - X.
This would be my guess of your problem, which brings us to a problem of mine: I want to help you, yet I don't know what X stands for.
| [reply] |
I tried the code Stevie gave me, but it did the same thing my original code was doing. It found any match of 4 digits and replaced it with 9999. This led me to a way of patching the issue and fixing it in a text editor using block selection. Replacing 0030 with AAAA, replacing 0031 with BBBB ect ect.
Basically I need the code to match the 4 character number and replace with a 4 character number. Any numbers of more or less character in a field should be ignored.
I hope this helps clarify.
My code that I used to clunk my way through the issue.
$line =~ s/0030/AAAA/g;
$line =~ s/0031/BBBB/g;
$line =~ s/0884/CCCC/g;
$line =~ s/0716/DDDD/g;
$line =~ s/0528/EEEE/g;
| [reply] [d/l] |
s/(?!<\d)0300(?!=\d)/9999/g
| [reply] [d/l] [select] |
s/(?!<\d)0300(?!=\d)/9999/g
should be
s/(?<![0-9])0300(?![0-9])/9999/g
My main point is that both look-behind and look-ahead were using the wrong syntax. My replacement of \d with [0-9] is likely not required.
| [reply] [d/l] [select] |