Foxtable(狐表)用户栏目专家坐堂 → 字符串提取


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

主题:字符串提取

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
字符串提取  发帖心情 Post By: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

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


加好友 发短信
等级:超级版主 帖子:110581 积分:562801 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2023/11/14 14:05:00 [只看该作者]

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

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


加好友 发短信
等级:超级版主 帖子:110581 积分:562801 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/14 14:13:00 [只看该作者]

Dim patn As String = "(招标人名称:|地址:|联系人:|电话:|邮箱:)"

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


加好友 发短信
等级:狐神 帖子:4752 积分:34568 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2023/11/14 14:27:00 [只看该作者]

还是不对,现在结果是:
1.1.2
招标人名称:
杭州运河集团建设管理有限公司
地址:
杭州市拱墅区大关路179号
电话:
18267354466
邮箱:
/

需求是下面的结果:

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


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


加好友 发短信
等级:狐神 帖子:4752 积分:34568 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By: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

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


加好友 发短信
等级:超级版主 帖子:110581 积分:562801 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/11/14 14:44:00 [只看该作者]

自己根拆分后的数组进行合并就行了。关键的东西都有了,要学会自己变通一下,不要那么死板

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

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By: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
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4752 积分:34568 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2023/11/14 15:09:00 [只看该作者]

For i As Integer = 0 To ns.count - 1

 回到顶部
总数 12 1 2 下一页