我有一个以竖线分隔的文件,并希望将|N.D.|的所有匹配项替换为||。
我这样做了:
$line =~ s/\|N.D.\|/\| \|/g;但是如果这行有重复的N.D.,就像这样:
12354|this is test|N.D|N.D|some more text|它只会替换一个。我如何修复它来替换所有的?
发布于 2016-07-29 09:07:59
通常情况下,您可以使用简单的正向先行:
\|N\.D(?=\|)并用|替换它
$line =~ s/\|N\.D(?=\|)/\| /g;这样,尾随的|就不会包含在匹配中,下一场匹配就可以从那里开始。
https://stackoverflow.com/questions/38648939
复制相似问题