2

我正在尝试在 perl 中实现替换。我有一个二进制矩阵,我想替换

0 与 1

1 与 2。

所以我使用了以下行

s/1/2/g foreach @remaining;

但是,此命令最终也替换了我的列名,其中包含数字。例如,它将 1234 转换为 2234。

我希望它只匹配和替换 1s 而不是 1234。

4

1 回答 1

8

使用单词边界,例如:

s/\b1\b/2/g foreach @remaining;

同时替换 0 和 1:

s/\b([01])\b/1+$1/eg foreach @remaining;
于 2012-12-19T15:28:57.480 回答