免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2402 | 回复: 9
打印 上一主题 下一主题

文本处理,替换成"NULL" [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-28 14:38 |只看该作者 |倒序浏览
想处理一个C源文件,在用 s/pattern1/pattern2/ 这个命令时,怎么将-1替换成NULL?
s/-1/NULL/g;
s/-1/'NULL'/g;
s/-1/"NULL"/g;

以上都不行啊

论坛徽章:
0
2 [报告]
发表于 2008-08-28 14:44 |只看该作者
gg这里是可以的

论坛徽章:
0
3 [报告]
发表于 2008-08-28 14:51 |只看该作者

回复 #2 forlorngenius 的帖子

?不是把-1替换成空,是把-1替换成NULL
我是这么用的
......
while(<>)
{
    ......
    s/-1/NULL/g;
    print $_;
}

论坛徽章:
0
4 [报告]
发表于 2008-08-28 15:10 |只看该作者
while ($line=<>) {
$line =~ s/-1/NULL/g;
print $line;
}
这样可以吗?

论坛徽章:
0
5 [报告]
发表于 2008-08-28 15:14 |只看该作者
perl -pi -e 's/-1/NULL/g'  *.c

不过这样做似乎不妥吧。源文件中的  (a-1), -10 之类的就变成 (aNULL)、NULL0了

论坛徽章:
0
6 [报告]
发表于 2008-08-28 17:05 |只看该作者
原帖由 odacharlee 于 2008-8-28 15:14 发表
perl -pi -e 's/-1/NULL/g'  *.c

不过这样做似乎不妥吧。源文件中的  (a-1), -10 之类的就变成 (aNULL)、NULL0了


是可以的阿,楼上说都也对,还是要小心点,或者限制条件下

论坛徽章:
0
7 [报告]
发表于 2008-08-28 17:18 |只看该作者

论坛徽章:
0
8 [报告]
发表于 2008-08-30 16:23 |只看该作者
$line =~ s/(\W)-1(\W)/\1NULL\2/g;

论坛徽章:
0
9 [报告]
发表于 2008-08-30 16:37 |只看该作者

回复 #8 __lxmxn__ 的帖子

这个也不行吧

楼主的意思是 -1a 也要替代的吧
$line =~ s/-1(\D)/NULL\1/g;

楼主没说明白!

论坛徽章:
0
10 [报告]
发表于 2008-08-30 19:06 |只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP