daiguafan 发表于 2011-7-21 10:39:30

文件读取中中文数据如何匹配提取

数据格式如下

##基坑深度 16.000000,0,1.000000
##右侧花管数 0
##左侧花管数 0
1, 0.000000, 17.000000, 17.000000
###土数据: 18,20.000000,22.500000,40.000000,25.000000,0.600000,1.000000,1.000000,0,1.000000,60.000000,10.000000,10.000000,260.000000,10000.000000,150.000000,12.500000,0.000000,25.000000,40.000000,60.000000,50.000000,10000.000000,1.000000,0
##超载数 1,0
###超载数据 1,15.000000,0.000000,10.000000,5.000000,10.000000,1
##放坡数 1
###放坡数据 2.500000,6.500000,0.200000
坡前加固土体 0,3.000000
###土数据: 1,2.000000,18.000000,20.000000,30.000000,0.600000,1.000000,1.000000,1,1.000000,10.000000,10.000000,10.000000,120.000000,10000.000000,150.000000,8.000000,0.000000,15.000000,15.000000,80.000000,50.000000,10000.000000,0.000000,0

希望提取出来的是
16.000000,0,1.000000
18,20.000000,22.500000,40.000000,25.000000,0.600000,1.000000,1.000000,0,1.000000,60.000000,10.000000,10.000000,260.000000,10000.000000,150.000000,12.500000,0.000000,25.000000,40.000000,60.000000,50.000000,10000.000000,1.000000,0
但是用
(WHILE (SETQ LINE (READ-LINE FPh))
;将数据库中的数据存入DATA中
    (if
(and (> (strlen LINE) 0) (not(wcmatch LINE "!*")))
       (if (wcmatch LINE "#*")
      (progn

(SETQ DATA (CONS LINE DATA))

      )
    )
))

不可以得到满意结果


http://bbs.mjtd.com/xwb/images/bgimg/icon_logo.png 该贴已经同步到 daiguafan的微博

ZZXXQQ 发表于 2011-7-21 10:59:09


;将数据库中的数据存入DATA中
(while (setq LINE (read-line FPh))
(if (and (> (strlen LINE) 0) (not (wcmatch LINE "`#*")))
   (setq DATA (cons LINE DATA))
)
)

daiguafan 发表于 2011-7-21 11:24:48

回复 ZZXXQQ 的帖子

谢谢斑竹
我试下

illcyt 发表于 2013-9-29 11:22:44

ZZXXQQ 发表于 2011-7-21 10:59 static/image/common/back.gif


好程序,留下学习
页: [1]
查看完整版本: 文件读取中中文数据如何匹配提取