以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 字符串变换求助 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=43909) |
||||
-- 作者:yankunhao -- 发布时间:2013/12/18 17:09:00 -- 字符串变换求助 如果有这样的的字符串:65/10,65/20,85/30,85/40,85/50,85/60,85/70 如何变换成这样的:65/10.20,85/30.40.50.60.70
|
||||
-- 作者:Bin -- 发布时间:2013/12/18 17:18:00 -- Dim s1 As String() = "65/10,65/20,85/30,85/40,85/50,85/60,85/70".Split(",") Dim ss As new List(of String) For Each s As String In s1 If ss.count=0 Then ss.Add(s) Else Dim str=ss(ss.count-1) Dim sss As String() =s.Split("/") If sss(0)=str.split("/")(0) Then ss(ss.count-1)=str & "." & sss(1) Else ss.Add(s) End If End If Next Dim result As String For Each s As String In ss result=result & "," & s Next MessageBox.show(result.trim(","))
|
||||
-- 作者:yankunhao -- 发布时间:2013/12/18 17:35:00 -- 不对哦 |
||||
-- 作者:Bin -- 发布时间:2013/12/18 17:36:00 -- . 此主题相关图片如下:qq截图20131218173600.png |
||||
-- 作者:yankunhao -- 发布时间:2013/12/19 9:08:00 -- 不好意思,是我搞错了,如果对单一行的字符串是对的,我现在按这个方法想将表中的一列“型号规格”字符批量进行变换,才发现没那么简单。比如列中的数据是这样的: 铜配件-胆壳
现在要对这一列批量进行变换,变成这样的
铜配件-胆壳 E20/10*45.10*50.10*60.10*70,E30/30*100.55*55,铜配件-有牙匙
请问应该如何做才对呢? |
||||
-- 作者:yankunhao -- 发布时间:2013/12/19 9:11:00 -- 我现在是这样的,但不对。
For Each dr As DataRow In DataTables("销售订单查询").DataRows Next |
||||
-- 作者:yankunhao -- 发布时间:2013/12/19 9:20:00 -- 请问是不是要清空数组呢?但我找不到清空数组的方法。 |
||||
-- 作者:Bin -- 发布时间:2013/12/19 9:23:00 -- 呵呵,你循环的时候每次生成新的变量就已经是清空的了. 你等着我有时间帮你写一下吧. |
||||
-- 作者:yankunhao -- 发布时间:2013/12/19 14:00:00 -- 请问有那位知道原因吗? |
||||
-- 作者:yankunhao -- 发布时间:2013/12/19 16:00:00 --
现在将这个文件上传,请求大家帮忙看看,为什么在原列做转换不行,而在其他列做转换就行,真是想不明白!
在这个文件的表中,第一列为想转换的字符,窗口下有个转换按钮,如果用这个按钮直接在当前列转换是不行的,转换后会多出一些不想要的内容,需每二列会也用类似的语句进行转换,却可以正常转换。每三列的内容为第一列的原始内容,以方便复制测试用。 [此贴子已经被作者于2013-12-19 16:06:16编辑过]
|