Foxtable(狐表)用户栏目专家坐堂 → 想提取单位数值并求和


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

主题:想提取单位数值并求和

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


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/11/7 10:18:00 [显示全部帖子]

增加辅助列,按“箱”字符拆分,后把数字取出来放到辅助列,再统计

例如

Dim s As String = "5箱2包"
Dim ss() As String = s.split("箱")
Dim 箱 As Integer = ss(0)
Dim 单位 As String = right(ss(1), 1)
Dim b As Integer = ss(1).TrimEnd(单位)

Output.Show(箱 & "," & b & ",单位=" & 单位)

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


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/11/7 10:56:00 [显示全部帖子]

不增加辅助列,数据少还好,遍历一下就行。数据多,处理会很慢的。

至于单位,考虑使用正则处理

Dim s As String = "5箱2包"
Dim p As String = "\d+"
Dim r As New System.Text.RegularExpressions.Regex(p)
Dim str = r.Split(s)
For Each a As String In str
    Output.Show(a)
Next

p = "[^\d+]" '[^\d+]
r = New System.Text.RegularExpressions.Regex(p)
str = r.Split(s)
For Each a As String In str
    Output.Show(a)
Next

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


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/11/7 16:12:00 [显示全部帖子]

把辅助数量里的单位去掉,改为整数列

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


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/11/7 16:54:00 [显示全部帖子]

合计没有办法使用代码赋值。

变通方法可以看看:

2、http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=171956

 回到顶部