小弟的问题是:应该如何来解析此文件。需求为:
解析此文件,将其文本内容依次读入数据表fxtqyb中。读24天气预报后,将fxtqyb_fxtqyblx,写为“24小时天气预报”在fxtqyblx表(分县天气预报类型表)中的ID。读48天气预报,写为:“48小时天气预报”在fxtqyblx表(分县天气预报类型表)中的ID。读72天气预报,写为:“72小时天气预报”在fxtqyblx表(分县天气预报类型表)中的ID。读96天气预报,写为:“96小时天气预报”在fxtqyblx表(分县天气预报类型表)中的ID,读120天气预报,写为:“120小时天气预报”在fxtqyblx表(分县天气预报类型表)中的ID。
其中风力0-1,分别写入fxtqyb_zdfl最低风力,fxtqyb_zgfl最高风力。
转风力0-1,分别写入fxtqyb_zdzfl最低转风力,fxtqyb_zgzfl最高转风力。
前12小时天气,将其在tqztb天气状态表中的ID写入fxtqyb_q12xstqzt_kindid;
后12小时天气,将其在tqztb天气状态表中的ID写入fxtqyb_h12xstqzt_kindid;
城市名,将其在qxszb中的ID,写入fxtqyb_csbh.文件为:    
             城市天气预报 宜宾市气象台      2006年7月4日05时     24小时天气预报
城市名 前12小时天气 后12小时天气 最低气温 最高气温 风向 风力 转风向 转风力
翠屏区 小到中雨 阴天 23 29 无风向 1-2 无风向 1-2 
宜宾县 小到中雨 阴天 23 29 无风向 1-2 无风向 1-2 
屏山 小到中雨 阴天 23 29 无风向 1-2 无风向 1-2 
南溪 小到中雨 阴天 23 29 无风向 1-2 无风向 1-2 
高县 小到中雨 阴天 23 29 无风向 1-2 无风向 1-2 
江安 小到中雨 阴天 23 29 无风向 1-2 无风向 1-2 
珙县 小到中雨 阴天 23 29 无风向 1-2 无风向 1-2 
长宁 小到中雨 阴天 23 29 无风向 1-2 无风向 1-2 
兴文 小到中雨 阴天 23 29 无风向 1-2 无风向 1-2 
筠连 小到中雨 阴天 23 29 无风向 1-2 无风向 1-2 
向家坝 小到中雨 阴天 23 29 无风向 1-2 无风向 1-2 
     48小时天气预报
城市名 前12小时天气 后12小时天气 最低气温 最高气温 风向 风力 转风向 转风力
翠屏区 多云 阴间多云 25 32 无风向 0-1 无风向 0-1 
宜宾县 多云 阴间多云 25 32 无风向 0-1 无风向 0-1 
屏山 多云 阴间多云 25 32 无风向 0-1 无风向 0-1 
南溪 多云 阴间多云 25 32 无风向 0-1 无风向 0-1 
高县 多云 阴间多云 25 32 无风向 0-1 无风向 0-1 
江安 多云 阴间多云 25 32 无风向 0-1 无风向 0-1 
珙县 多云 阴间多云 25 32 无风向 0-1 无风向 0-1 
长宁 多云 阴间多云 25 32 无风向 0-1 无风向 0-1 
兴文 多云 阴间多云 25 32 无风向 0-1 无风向 0-1 
筠连 多云 阴间多云 25 32 无风向 0-1 无风向 0-1 
向家坝 多云 阴间多云 25 32 无风向 0-1 无风向 0-1 
     72小时天气预报
城市名 前12小时天气 后12小时天气 最低气温 最高气温 风向 风力 转风向 转风力
翠屏区 多云 多云 25 34 无风向 1-2 无风向 2-3 
宜宾县 多云 多云 25 34 无风向 1-2 无风向 2-3 
屏山 多云 多云 25 34 无风向 1-2 无风向 2-3 
南溪 多云 多云 25 34 无风向 1-2 无风向 2-3 
高县 多云 多云 25 34 无风向 1-2 无风向 2-3 
江安 多云 多云 25 34 无风向 1-2 无风向 2-3 
珙县 多云 多云 25 34 无风向 1-2 无风向 2-3 
长宁 多云 多云 25 34 无风向 1-2 无风向 2-3 
兴文 多云 多云 25 34 无风向 1-2 无风向 2-3 
筠连 多云 多云 25 34 无风向 1-2 无风向 2-3 
向家坝 多云 多云 25 34 无风向 1-2 无风向 2-3 
   
  预报员签名:吴浩        签发人签名:胡红兵
  制作时间:05时47分      签发时间:05时47分

解决方案 »

  1.   

    '很简单的问题,只是写出的代码会有点长。        '1.将文件用StreamReader读入到一个字符串()
            Dim Mobj_sr As StreamReader = File.OpenText("your file")
            Dim Mstr_temp As String = Mobj_sr.ReadToEnd
            '2.用split把字符串分割成字符串数组
            Dim temps() As String = Split(Mstr_temp, vbCrLf)
            '3.根据每行字符串特征做相应处理
            Dim i As Integer
            For i = 0 To UBound(temps)
                If InStr(temps(i), "小时天气预报") > 0 Then
                    '处理代码
                Else
                    If InStr(temps(i), "城市名") > 0 Then
                        '处理代码
                    Else
                        '数据行处理代码
                    End If
                End If
            Next
      

  2.   

    文本文件很难做到规范,写成excel就好解析了
      

  3.   

    如果是从EXCEL文件中读会好办些.