读书人

perl substr获取字符串中非空格的内容

发布时间: 2013-02-25 10:23:36 作者: rapoo

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

读书人网 >perl python

热点推荐