Foxtable(狐表)用户栏目专家坐堂 → 如何提取文本中小标题


  共有3194人关注过本帖树形打印复制链接

主题:如何提取文本中小标题

帅哥哟,离线,有人找我吗?
ZJZK2018
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
如何提取文本中小标题  发帖心情 Post By:2023/10/30 0:35:00 [显示全部帖子]

一个文本(已转为string)中有小标题,如何提取?

一、本次招标内容

1、工程概况:本工程位建设内容及规模:(1)水利部分:提标加固海塘5.7km,建

本次招标范围内的工程估算(或概算)造价工程估算总投资87590万元,采用投标资标。

二、投标人资格条件、要求

(一)投标人:

? 1、具有水利部颁发以下2项资质:①水利工程施工监理甲级、②水利工程建设环

2、本次招标接受联合体投标,联合体投标的,应满足下列要求:

三、招标文件的获取

1、本项目招标文件和补充(答疑、澄清)、修改文件以网上下载方式发放。

2、招标文件网上下载时间:2023926日至20231007日。

四、投标文件递交

1、投标文件递交截止时间2023101714:30

2、投标文件递交方式:电子投标文件采用网上递交的方式,上传至浙江省公共资



 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2023/11/1 21:11:00 [显示全部帖子]

老师好,下面代码如何合并,需求是:
1、每一行就是一个招标公告,公告的小标题可能是“一,二...”,也有可能是“1,2,3,4,...”,如何合并?
2、Exit For 的代码没有起作用?
Dim r As Row = CurrentTable.Current
Dim nms() As String = r("招标公告").split(vbCrlf)
Dim sbs() As String = {"一","二","三","四","五","六","七"}
Dim sbs1() As String = {"1","2","3","4","5","6","7"} 
For Each nm As String In nms
    nm = nm.Trim()
    For Each sb As String In sbs
        If nm.StartsWith(sb)
            Output.Show(nm)
            'End If
            If nm.Contains("招标文件的获取")
                Exit For
            End If
        End If
    Next
Next

For Each nm As String In nms
    nm = nm.Trim()
    If Char.IsDigit(nm.Chars(0)) AndAlso Char.IsDigit(nm.Chars(2)) = False
        Output.Show(nm)
        If nm.Contains("招标文件的获取")
            Exit For
        End If
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2023/11/2 10:08:00 [显示全部帖子]

老师可能我没有说清楚,下面是二个招标公告的小标题,我需的结果是:
2、Exit For 的代码没有起作用?

一、工程概况

二、本次招标内容:

三、投标资格条件

四、招标文件的获取

五、投标文件递交:

 

招标条件

项目概况与招标范围

投标人资格要求

招标文件的获取

投标文件的递交

发布公告的媒介

联系方式


而现在的结果下面这样,红色这部分不要:

一、工程概况

1、温州市域铁路..

2、温州市域铁路S3线一期工程瑞安段..17.5亿元。

二、本次招标内容:

三、投标资格条件

1、同时具有市政公用工程施工总承

2、投标人(以联合体形式参与投标书;

3、投标人及其法….外;




[此贴子已经被作者于2023/11/2 10:09:06编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2023/11/2 11:19:00 [显示全部帖子]

老师但有些招标公告不是用一、二...,而是用1,2,3...如何处理

 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2023/11/2 11:59:00 [显示全部帖子]

我要的是不同文件的标题提取,而不是一个文件



图片点击可在新窗口打开查看此主题相关图片如下:1698897761407.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2023/11/2 15:28:00 [显示全部帖子]

老师下面当前行不出错,但一旦遍历就出错?

For Each r As Row In CurrentTable.Rows
    'Dim r As Row = CurrentTable.Current
    Dim ggms() As String = r("招标公告").split(vbCrlf)
    Dim ss As String = ""
    Dim sbs() As String = {"一","二","三","四","五","六","七"}
    For Each ggm As String In ggms
        If ggm.Contains("招标文件的获取") AndAlso ggm.Length > 8 AndAlso ggm.Length < 20 Then
            ss = ggm.Trim()
        End If
    Next
    'msgbox(ss)
    If ss.IndexOf("招标文件的获取") > -1 Then
        For i As Integer = 0 To ggms.count -1
            ggms(i) = ggms(i).Trim()
            If Char.IsDigit(ss.Chars(0))
                If Char.IsDigit(ggms(i).Chars(0)) AndAlso Char.IsDigit(ggms(i).Chars(2)) = False
                    'Output.Show(ggms(i))
                    r("备注") &= ggms(i) & "/"
                End If
            Else
                For Each sb As String In sbs
                    If ggms(i).StartsWith(sb)
                        'Output.Show(ggms(i))
                        r("备注") &= ggms(i) & "/"
                    End If
                Next
            End If
        Next
    End If
Next



图片点击可在新窗口打开查看此主题相关图片如下:1698910410396.jpg
图片点击可在新窗口打开查看



 回到顶部
帅哥哟,离线,有人找我吗?
ZJZK2018
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2023/11/2 16:06:00 [显示全部帖子]

谢谢老师的指点

For Each r As Row In CurrentTable.Rows
    'Dim r As Row = CurrentTable.Current
    Dim ggms() As String = r("招标公告").split(vbCrlf)
    Dim ss As String
    Dim sbs() As String = {"一","二","三","四","五","六","七","八","九"}
    For Each ggm As String In ggms
        If ggm.Contains("招标文件的获取") AndAlso ggm.Length > 8 AndAlso ggm.Length < 20 Then
            ss = ggm.Trim()
        End If
    Next
    'msgbox(ss)
    If ss.IndexOf("招标文件的获取") > -1 Then
        For i As Integer = 0 To ggms.count -1
            ggms(i) = ggms(i).Trim()
            If ggms(i).Length > 3 AndAlso ggms(i).Length < 20 
                If Char.IsDigit(ss.Chars(0))
                    If Char.IsDigit(ggms(i).Chars(0)) AndAlso Char.IsDigit(ggms(i).Chars(2)) = False Then
                        'Output.Show(ggms(i))
                        r("备注") &= ggms(i) & "/"
                    End If
                Else
                    For Each sb As String In sbs
                        If ggms(i).StartsWith(sb)
                            'Output.Show(ggms(i))
                            r("备注") &= ggms(i) & "/"
                        End If
                    Next
                End If
            End If
        Next
    End If
Next

 回到顶部