免费注册 查看新帖 |

Chinaunix

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

请教一个关于变量取值的问题,比较急,现谢谢大家了! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-01-30 18:51 |只看该作者 |倒序浏览
有个变量是:
$a="     127.0.0.1                               本机地址 ";
我现在将上面的变量变成:
$b="127.0.0.1";
$c="本机地址";
请问该如何处理?

[ 本帖最后由 xychamp 于 2007-1-30 18:52 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-01-30 19:00 |只看该作者
原帖由 xychamp 于 2007-1-30 18:51 发表
有个变量是:
$a="     127.0.0.1                               本机地址 ";
我现在将上面的变量变成:
$b="127.0.0.1";
$c="本机地址";
请问该如何处理?:lol::lol:



using regex, split, ...
i.e.:
($b, $c) = $a=~/(\S+)/g;
print "$b, $c";

-- ulmer

论坛徽章:
0
3 [报告]
发表于 2007-01-30 19:21 |只看该作者
谢谢您的指教,但是测试还是不行!!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2007-01-30 19:27 |只看该作者
原帖由 xychamp 于 2007-1-30 19:21 发表
谢谢您的指教,但是测试还是不行!!

我测试了 好用啊

论坛徽章:
0
5 [报告]
发表于 2007-01-30 19:38 |只看该作者
奇怪,在windows机器上好用,可是在linux机器上就不行了?

论坛徽章:
0
6 [报告]
发表于 2007-01-30 20:00 |只看该作者

回复 5楼 xychamp 的帖子

more safety usage:

removing head-/trailing space:
$a =~ s/^\s+//;
$a =~ s/\s+$//;
then spliting it into 2 parts:
($b, $c) = split(/\s+/, $a, 2);

--ulmer

[ 本帖最后由 ulmer 于 2007-1-30 20:02 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2007-01-30 20:33 |只看该作者
my ($b,$c) = $a =~ /([^\s]+)\s+([^\s]+)/is;

论坛徽章:
0
8 [报告]
发表于 2007-01-30 22:13 |只看该作者
原帖由 Namelessxp 于 2007-1-30 20:33 发表
my ($b,$c) = $a =~ /([^\s]+)\s+([^\s]+)/is;



谢谢大家,已经可以使用,看来对正则表达式还是学习的不够,还要加强学习。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP