以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  字符串提取  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=189144)

--  作者:ZJZK2018
--  发布时间:2023/11/14 0:24:00
--  字符串提取
下面代码错在哪里?
Dim txt As String = "1.1.2招标人名称:杭州运河集团建设管理有限公司地址:杭州市拱墅区大关路179号联系人:杨杰电话:18267354466邮箱:/"
Dim patn As String = "招标人名称:[.*?]|地址:[.*?]|联系人:[.*?]|电话:[.*?]|邮箱:[.*?]"
Dim rgx = New System.Text.RegularExpressions.Regex(patn, System.Text.RegularExpressions.RegexOptions.IgnoreCase)
For Each  match As System.Text.RegularExpressions.Match In rgx.Matches(txt)
    Output.Show(match.Value )
Next

--  作者:有点蓝
--  发布时间:2023/11/14 8:32:00
--  
Dim txt As String = "1.1.2招标人名称:杭州运河集团建设管理有限公司地址:杭州市拱墅区大关路179号联系人:杨杰电话:18267354466邮箱:/"
Dim patn As String = "招标人名称:|地址:|联系人:|电话:|邮箱:"
Dim r As New System.Text.RegularExpressions.Regex(patn)
Dim str = r.Split(txt)
For Each a As String In str
    Output.Show(a)
Next

--  作者:ZJZK2018
--  发布时间:2023/11/14 14:05:00
--  
需求是:
招标人名称:杭州运河集团建设管理有限公司
地址:杭州市拱墅区大关路179号
联系人:杨杰
电话:18267354466
邮箱:/

--  作者:有点蓝
--  发布时间:2023/11/14 14:13:00
--  
Dim patn As String = "(招标人名称:|地址:|联系人:|电话:|邮箱:)"
--  作者:y2287958
--  发布时间:2023/11/14 14:22:00
--  
我对正则表达式有恐惧感。
Dim 字符串 As String = "1.1.2招标人名称:杭州运河集团建设管理有限公司地址:杭州市拱墅区大关路179号联系人:杨杰电话:18267354466邮箱:/"
Dim 分节字符组() As String = "1.1.2招标人名称:|地址:|联系人:|电话:|邮箱:".Split ("|")
Dim 字符组() As String = 字符串.Split (分节字符组 , stringsplitoptions.None)
For i As Integer = 0 To 分节字符组.count - 1
    Output.Show (分节字符组(i) & 字符组(i + 1))
Next 
[此贴子已经被作者于2023/11/14 14:22:26编辑过]

--  作者:ZJZK2018
--  发布时间:2023/11/14 14:27:00
--  
还是不对,现在结果是:
1.1.2
招标人名称:
杭州运河集团建设管理有限公司
地址:
杭州市拱墅区大关路179号
电话:
18267354466
邮箱:
/

需求是下面的结果:

招标人名称:杭州运河集团建设管理有限公司
地址:杭州市拱墅区大关路179号
联系人:杨杰
电话:18267354466
邮箱:/


--  作者:y2287958
--  发布时间:2023/11/14 14:33:00
--  
Dim 字符串 As String = "1.1.2招标人名称:杭州运河集团建设管理有限公司地址:杭州市拱墅区大关路179号联系人:杨杰电话:18267354466邮箱:/"
Dim 分节字符组() As String = "招标人名称:|地址:|联系人:|电话:|邮箱:".Split ("|")
Dim 字符组() As String = 字符串.Split (分节字符组 , stringsplitoptions.None)
For i As Integer = 0 To 分节字符组.count - 1
    Output.Show ("\'" & 分节字符组(i) & 字符组(i + 1))
Next

--  作者:有点蓝
--  发布时间:2023/11/14 14:44:00
--  
自己根拆分后的数组进行合并就行了。关键的东西都有了,要学会自己变通一下,不要那么死板

Dim str() As String = r.Split(txt)
MsgBox(str(1) & str(2))

--  作者:ZJZK2018
--  发布时间:2023/11/14 14:48:00
--  
不对,代码出错
Dim str As String = "1.1.2招标人名称:杭州运河集团建设管理有限公司地址:杭州市拱墅区大关路179号联系人:杨杰电话:18267354466邮箱:/"
Dim ns() As String = "招标人名称:|地址:|联系人:|电话:|邮箱:".Split ("|")
Dim nms() As String = str.Split (ns , stringsplitoptions.None)
For i As Integer = 0 To nms.count - 1
    Output.Show ("\'" & ns(i) & nms(i + 1))
Next

--  作者:y2287958
--  发布时间:2023/11/14 15:09:00
--  
For i As Integer = 0 To ns.count - 1