Chinaunix
标题:
perl 读取excel 无法匹配
[打印本页]
作者:
ac_3
时间:
2014-02-13 21:05
标题:
perl 读取excel 无法匹配
如:
$cell1 =$sheet->{Cells}[0][0];
$value=$cell1->{Val};
如$value读出来为Machine, 但是做$value=~/Mac/匹配判断时,却显示匹配失败,经过试验,只能匹配第一个字符(M),不能匹配整个字符串,这是为何?
作者:
q1208c
时间:
2014-02-14 08:02
把你的 print 结果发上来看看. 没听说这么不科学的事.
作者:
ac_3
时间:
2014-02-19 18:12
就是这么不科学啊,只能匹配一个字符,多了就不行。
如
代码:
$sheet->{MaxCol} ||= $sheet->{MinCol};
$cell_1 =$sheet->{Cells}[$row][0];
$item=$cell_1->{Val};
if ($item=~/Ma/){print "HI,$item\n";}else{print "$item not match with Ma\n";}
输出:
Machine ID : not match with Ma
作者:
ac_3
时间:
2014-02-20 18:37
把print的内容导出到文件在windows下打开后终于看到它的真面目了:
每个字符之间都多了一个空字符(不是空格哦),copy 还copy不过来,只能拷屏了。
这个Nul 字符该如何把它去掉呢?
二进制 十进制 十六进制 缩写 可以显示的表示法 名称/意义
0000 0000 0 00 NUL ␀ 空字符(Null)
1.JPG
(3.6 KB, 下载次数: 26)
下载附件
2014-02-20 18:34 上传
作者:
jason680
时间:
2014-02-20 18:47
回复
4#
ac_3
it seems be unicode with utf-16
http://zh.wikipedia.org/zh-cn/UTF-16
作者:
ac_3
时间:
2014-02-20 18:55
有没有最简单的处理方法啊?
作者:
flw
时间:
2014-03-03 10:56
就是个编码问题。
decode 一下就可以了。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2