【发布时间】:2018-08-17 18:40:27
【问题描述】:
使用 Perl,我只想将空格替换为 0。空格由制表符 (\t) 分隔。提前致谢!例如:
1 2 2 5 4
4 4 4 4 3
4 4 1
1 5 6 4
到
1 2 0 0 2 0 5 0 0 0 4
4 4 4 0 0 4 0 0 0 3 0
0 0 4 4 0 0 1 0 0 0 0
0 1 5 6 0 4 0 0 0 0 0
我的代码:
use strict;
use warnings;
open(DATA,"DATA")||die"cannot open the file: $!\n";
while( <DATA> )
{
s/(^| \K)(?!\d)/0/g;
print;
}
出来了:
1 2 2 5 4
4 4 4 4 3
0 4 4 1
0 1 5 6 4
【问题讨论】:
-
作为空格字符?这是什么语言?
-
例如 1 和 2 之间的字符是什么?它是一个标签 (\t) 吗?
-
谢谢,Alan Deep.Yes 选项卡 (\t)。
-
提示:不要使用
DATA;它是现有文件句柄的名称 -
提示:不要对文件句柄使用全局变量。使用词法变量 (
open(my $DATA, ...))
标签: perl substitution