Foxtable(狐表)用户栏目专家坐堂 → 如何提取带单位的数据


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

主题:如何提取带单位的数据

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
如何提取带单位的数据  发帖心情 Post By:2023/11/3 13:01:00 [只看该作者]

Dim str As String = "2015年8月收款15万元,支付8000元"
Dim s As String = System.Text.RegularExpressions.Regex.Match(str,"[0-9.]+(?=元+)").ToString()


需要的结果是:15万元,8000元


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


加好友 发短信
等级:狐精 帖子:3082 积分:20596 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2023/11/3 13:11:00 [只看该作者]

Dim str As String = "2015年8月收款15万元,支付8000元"
Dim s1 As String = System.Text.RegularExpressions.Regex.Match(str, "[0-9.]+(?=万元+)").ToString()
Dim s2 As String = System.Text.RegularExpressions.Regex.Match(str, "[0-9.]+(?=元+)").ToString()
MessageBox.Show(s1 & "万元," & s2 & "元")

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


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

Dim str As String = "2015年8月收款15万元,支付8000元"
Dim rgx = New System.Text.RegularExpressions.Regex("[0-9.]+[万元|元]+", System.Text.RegularExpressions.RegexOptions.IgnoreCase)
For Each match As System.Text.RegularExpressions.Match In rgx.Matches(str)
    Output.Show(match.Value)
Next
[此贴子已经被作者于2023/11/3 13:45:02编辑过]

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


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

单元格下拉取值后,再提取数据,如:下拉选取 “本项目总投资约4468300万元”,单元格最后的值为:“4468300万元” 代码写在哪里?


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


[此贴子已经被作者于2023/11/4 1:24:40编辑过]

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


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


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


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

放在DataColChanging 中没有用?

Select Case e.DataCol.Name
    Case "项目概算"
        If e.oldValue > ""
            Dim str As String = e.OldValue
            Dim rgx = New System.Text.RegularExpressions.Regex("[0-9.]+[万元|亿元]+", System.Text.RegularExpressions.RegexOptions.IgnoreCase)
            For Each match As System.Text.RegularExpressions.Match In rgx.Matches(str)
                e.NewValue = match.Value
            Next
        End If
End Select

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


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

学会调试

Select Case e.DataCol.Name
    Case "项目概算"
msgbox(e.oldValue)
msgbox(e.newvalue)
        If e.oldValue > ""
            Dim str As String = e.OldValue
msgbox(str )
            Dim rgx = New System.Text.RegularExpressions.Regex("[0-9.]+[万元|亿元]+", System.Text.RegularExpressions.RegexOptions.IgnoreCase)
            For Each match As System.Text.RegularExpressions.Match In rgx.Matches(str)
msgbox(match.Value)
                e.NewValue = match.Value
            Next
        End If
End Select

 回到顶部