首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

perl substr获取字符串中非空格的内容,该如何处理

2013-02-25 
perl substr获取字符串中非空格的内容本帖最后由 lovebelobe 于 2013-02-21 12:53:06 编辑以下需求可以通

perl substr获取字符串中非空格的内容
本帖最后由 lovebelobe 于 2013-02-21 12:53:06 编辑 以下需求可以通过substr实现吗?还是有更方便的方法?

开头不为空格的部分用pack转换成binary,后面加空格填充至4bit。
"1234    "    8bit

"XX   "         4bit
但是如果全部都有数据(例:"12345678")就不用做以上操作。
[解决办法]
while (<DATA>) {
    chomp;
    $len = length;
    s/\s+$//g;
    my $s = pack 'H*', $_;
    my $slen = length $s;
    $s .= ' ' x ($len / 2 - $slen);
    my $t = unpack 'H*', $s;
    my $tlen = length $t;
    print "$len:$slen:$tlen: $t\n";
}
__DATA__
12345678900a1234567890
1234    
12345678

是这个结果?
22:11:22: 12345678900a1234567890
8:2:8: 12342020
8:4:8: 12345678

[解决办法]

while (<DATA>) {
    chomp;
    $len = length;
    s/\s+$//g;
    my $s = pack 'H*', $_;
    my $slen = length $s;
    $s .= ' ' x ($len / 2 - $slen);
    my $t = unpack 'H*', $s;
    my $tlen = length $t;
    print "$len:$slen:$tlen: $t\n";
}
__DATA__
12345678900a1234567890
1234    
12345678

热点排行