问个关于空格( )的问题

提取数据我是使用的HTML::TableParser模块
这个模块可以从HTML页面中指定表格中获得数据,表格中每一行数据存入一个数组@cols
你的代码我测试过了,没问题,谢谢你的热心
因为有大量的数据需要从网页获取,所以不能采用这种方法。
建议你把提取到的数据 print 出来,看看 在你用正则式处理前

然后 前后 作比较,不就发现问题了嘛
试过了

在使用正规表达式前空格部分(&nbsq ;)打印出来的也是(?)


QUOTE:
20080717,?0808,15175,15100,15255,15100,15200,15190,25,15,1986,30062,-1262
20080717,?0809,15155,15010,15240,15010,15170,15165,15,10,114022,128424,454
20080717,?0810,15155,15145,15230,15080,15145,15170,-10,15,9228,27314,2948
20080717,?0811,15185,15280,15280,15145,15175,15190,-10,5,1254,3070,448
20080717,?0812,15225,15280,15280,15180,15190,15240,-35,15,18,2226,8
20080717,?0901,15300,15290,15400,15230,15290,15270,-10,-30,244,988,90
20080717,?0902,15435,15235,15350,15235,15350,15310,-85,-125,10,224,0
20080717,?0903,15465,15410,15450,15410,15450,15430,-15,-35,4,340,0
20080717,?0904,15540,15665,15665,15435,15435,15625,-105,85,18,280,10
20080717,?0905,15615,15545,15670,15545,15670,15645,55,30,12,182,4
20080717,?0906,15705,15740,15740,15740,15740,15740,35,35,2,54,2
20080717,?小计,????????127278,195554,2412
20080717
20080717,,,,,,,,,,,,,,
20080717,总计,?????????1103000,788124,36696

这是我所从网页所获取的表格数据,其中?对应的是空格部分,我希望它用逗号来表示

你用 HTML::TableParser 获得的数据是什么,打印出来看看

如果打印出来是 ?的话,你用 printf 之类的打印试试?


[Copy to clipboard] [ - ]
CODE:
foreach $elem (@cols) {
    print "$elem\t";
}

输出:

QUOTE:
总计    ?????????1103000        788124  36696

你用 printf,想办法把里面原始的内容打印出来

比如用 printf "%d" 之类的,你可以人为让它出错,只要你看清了里面到底是什么数据就可以


[Copy to clipboard] [ - ]
CODE:
foreach $elem (@cols) {
    printf("%d ", $elem);
}

输出:

QUOTE:
0 0 0 0 0 0 0 0 0 0 1103000 788124 36696

输出显示 中文字符和空格所对应的十进制整数均为0
估计里面有你没想到的东西,要不然你改不了? 呵呵
谢了,我再看看,没辙了再看那模块的实现