以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]怎么拆分数值 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=147897) |
-- 作者:hanlingli111999 -- 发布时间:2020/3/26 19:41:00 -- [求助]怎么拆分数值 老师好,我第一列有数字,如-8*250,-6*3450,...... 怎么实现在第二列出现8,6 在第三列依次为250 ,3450
|
-- 作者:狐狸爸爸 -- 发布时间:2020/3/27 9:19:00 -- 命令窗口执行: Dim vals As String = "-8*250,-6*3450" Dim parts() As String = vals.split(",") For Each part As String In parts part = part.Trim("-").replace("*",",") output.show(part) Next |
-- 作者:有点蓝 -- 发布时间:2020/3/27 9:24:00 -- 参考:http://www.foxtable.com/webhelp/topics/0245.htm Dim s As String ="-8*250,-6*3450" Dim r As Row For Each s1 As String In s.Split(",") r = Tables("A").AddNew Dim ar() As String = s1.Split("*") r("第一列") = sr(0) r("第二列") = sr(1) Next |
-- 作者:hanlingli111999 -- 发布时间:2020/3/27 13:16:00 -- 谢谢老师 |
-- 作者:hanlingli111999 -- 发布时间:2020/3/28 15:42:00 -- 老师:我的每列有很多行,每行都是不同的数字,如:-250*8;-300*6;-220*10 。。。。。。, 我不可能把所有数字都这样写入Dim s As String ="-8*250,-6*3450",而且数字还是随时变换的, 怎么修改代码呀,老师给的第二段代码运行错误
|
-- 作者:有点蓝 -- 发布时间:2020/3/28 16:16:00 -- 如果完全看不懂代码的,建议先学习基础:http://www.foxtable.com/webhelp/topics/1592.htm 如果看的懂的,把您改后的代码发上来。
|
-- 作者:hanlingli111999 -- 发布时间:2020/3/28 21:42:00 -- For Each r As Row In Tables("表A").rows If r("钢板型号") = "" Then r("板宽") = Nothing r("板厚") = Nothing \'r("产品_参数I") = Nothing Else Dim ary() As String = r("钢板型号") .split("*") r("板宽") = ary(0) r("板厚") = ary(1) End If Next |
-- 作者:有点蓝 -- 发布时间:2020/3/29 20:28:00 -- 代码在表格?窗口?什么事件的? 截图看看表格实际存储的数据。"钢板型号"存储的是【-250*8】,还是【-250*8;-300*6;....】多个?
|
-- 作者:hanlingli111999 -- 发布时间:2020/3/29 22:36:00 -- 老师好,感谢您,代码在表格,我把代码放在了表事件中,已调试成功,"钢板型号"列存储的是-250*8这种形式, 钢板型号列可以是任意行,最终代码如下:
For Each r As Row In Tables("拆分表").rows If r("钢板型号") = "" Then r("板宽") = Nothing r("板厚") = Nothing Else Dim ary() As String = r("钢板型号") .split("*") r("板宽") = ary(0).SubString(1) r("板厚") = ary(1) End If Next |
-- 作者:hanlingli111999 -- 发布时间:2020/3/29 22:38:00 -- 此主题相关图片如下:n7dm5gtpzx1r7`a%$lq{$7.png |