免费注册 查看新帖 |

Chinaunix

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

简单问题?IP地址补0,高手帮帮忙! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-09-30 11:05 |只看该作者 |倒序浏览
将IP地址补充为3位,不足的在前面加0

59.33.248.5
59.33.248.57
59.33.248.0

处理后为
059.033.248.005
059.033.248.057
059.033.248.000

论坛徽章:
0
2 [报告]
发表于 2005-09-30 11:56 |只看该作者

简单问题?IP地址补0,高手帮帮忙!

用printf输出
e.g:$a=13
ptintf ("%03d",$a);
输出013
ps:没有测试!

论坛徽章:
0
3 [报告]
发表于 2005-09-30 14:19 |只看该作者

简单问题?IP地址补0,高手帮帮忙!

果然高手,一开始我只是用printf("%3d",得到的只是空格

E:\WLM\内部培训\VOIP>;type test2.txt
59.33.248.5
59.33.248.57
59.33.248.0
E:\WLM\内部培训\VOIP>;type IP地址补0.pl
#!/usr/local/bin/perl
while ($line = <> {
$wlmline=$line;
  chomp $wlmline;
@outline=split(/\./,$wlmline);
printf("%03d\.",$outline[0]);
printf("%03d\.",$outline[1]);
printf("%03d\.",$outline[2]);
printf("%03d",$outline[3]);
print("\n";
}
E:\WLM\内部培训\VOIP>;IP地址补0.pl test2.txt
059.033.248.005
059.033.248.057
059.033.248.000

论坛徽章:
0
4 [报告]
发表于 2005-09-30 14:46 |只看该作者

简单问题?IP地址补0,高手帮帮忙!

反过来,去掉多余的0又应该如何做呢?

论坛徽章:
0
5 [报告]
发表于 2005-09-30 15:06 |只看该作者

简单问题?IP地址补0,高手帮帮忙!

[quote]原帖由 "windpen"]反过来,去掉多余的0又应该如何做呢?[/quote 发表:

举个例子
#cat test.pl
#!/bin/perl -w
$a=032;
printf("%d\n",$a);

#perl test.pl
26
#cat test.pl
#!/bin/perl -w
$a=039;
printf("%d\n",$a);
#perl test.pl
error message
#cat test.pl
$a="039";
printf("%d\n",$a);
#perl test.pl
39



我想你能从中明白些什么了! :em11:

论坛徽章:
0
6 [报告]
发表于 2005-09-30 15:39 |只看该作者

简单问题?IP地址补0,高手帮帮忙!

哦,原来如此,谢谢!

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
7 [报告]
发表于 2005-10-02 01:28 |只看该作者

简单问题?IP地址补0,高手帮帮忙!

补0
$strSource =~ s/(^|\.)(\d{2})(\.|$)/$10$2$3/g;
$strSource =~ s/(^|\.)(\d{1})(\.|$)/$100$2$3/g;

去0
$strSource =~ s/(^|\.)(0+)(\d+)($|\.)/$1$3$4/g;

论坛徽章:
0
8 [报告]
发表于 2005-10-02 05:29 |只看该作者

简单问题?IP地址补0,高手帮帮忙!

原帖由 "HonestQiao" 发表:
补0
$strSource =~ s/(^|\.)(\d{2})(\.|$)/$10$2$3/g;
$strSource =~ s/(^|\.)(\d{1})(\.|$)/$100$2$3/g;

去0
$strSource =~ s/(^|\.)(0+)(\d+)($|\.)/$1$3$4/g;

偶也觉得用正则方便

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
9 [报告]
发表于 2005-10-02 12:20 |只看该作者

简单问题?IP地址补0,高手帮帮忙!

那时一定的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP