Perl-如何根据不同的字符长度分割一行
发布时间:2020-12-16 06:07:06 所属栏目:大数据 来源:网络整理
导读:我想根据多个字符长度拆分一行,并将它们存储在单独的变量中. 例如:$myString =“米奇24美国活着 这里前12个字符是用户名,接下来2个是年龄,接下来23个字符是国家,接下来7个是状态. 那么有没有办法保存它们使用split()或s ///单独存储它们? 谢谢, 解决方法
我想根据多个字符长度拆分一行,并将它们存储在单独的变量中.
例如:$myString =“米奇24美国活着 这里前12个字符是用户名,接下来2个是年龄,接下来23个字符是国家,接下来7个是状态. 那么有没有办法保存它们使用split()或s ///单独存储它们? 谢谢, 解决方法
使用正则表达式匹配,或
substr :
my $myString = "Mickey 24 USA alive"; if ($myString =~ /(.{12})(.{2})(.{23})(.*)/) { $name = $1; $age = $2; $country = $3; $status = $4; print "<$name><$age><$country><$status>"; } else { warn "line not long enough"; } 输出: <Mickey ><24>< USA>< alive> 要在事后剥离变量间距,只需使用另一个正则表达式: $value =~ s/^s+|s+$//g; 甚至可以使用以下方法在一行中完成: s/^s+|s+$//g for ($name,$age,$country,$status); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |