以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何实现 字符折分及合并?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=144704)

--  作者:lgz518
--  发布时间:2019/12/27 14:50:00
--  如何实现 字符折分及合并?
如何实现 字符折分及合并?
下面是帮助的说明:

12.利用Split方法,可以用指定的分割符号,将一个字符串拆分成一个字符数组,例如:

Dim Tel As String = "0759-3166876"
Dim 
Parts() As String = Tel.Split("-")


Output.Show(
"区号:" & Parts(0))
Output.Show(
"电话:" & Parts(1))

在命令窗口执行上述代码,得到的结果是:

区号:0759
电话:3166876


<!--[if !supportLists]-->1.  <!--[endif]-->运算符&来连接字符串,例如:

Dim s As String
s = 
"abc" & "123" \'s的值将是"abc123"


因上面实例是在命令窗口执行,不在表或编辑框复杂运行,下面是要在“表”或"编辑框"运行的诉求:



此主题相关图片如下:字符.gif
按此在新窗口浏览图片








--  作者:有点蓝
--  发布时间:2019/12/27 15:05:00
--  
表1好办,根据星号拆分即可
datacolchanged事件
if e.DataCol.name = "列0" andalso e.datarow.isnull("列0") = false then
dim ar() as string = e.datarow("列0").split("*")
e.datarow("列1") = ar(0)
e.datarow("列2") = ar(1)
……
end if

至于表2,有没有统一的拆分规则?如果没有,无法拆分

--  作者:lgz518
--  发布时间:2019/12/27 16:24:00
--  
首先,谢谢老师解决问题
还有问题:
1.表1,如何实现将”列1,列2,列3“的值,合并成”列0-字符“?
2.表2,前三行是固定要5列,也就是列与字符的长度相对应,关键是”A1PD“这个字符"A1"与”P,D"一样只算一个;实现拆分;
3.表2,后二行是4列分隔符的字符的折分,和合并,关键是“3333/方块//蓝”的字符,“方块”后“//‘是空字符存在,是解决最行的“//”,中间,空字符?

--  作者:lgz518
--  发布时间:2019/12/27 16:25:00
--  
表2,可分为三行和后二行规律解决,如何实现,折分和合并?谢谢
--  作者:有点蓝
--  发布时间:2019/12/27 16:44:00
--  
1、合并字符反过来使用“&”字符即可:http://www.foxtable.com/webhelp/topics/0221.htm

datacolchanged事件
if e.DataCol.name = "列1" orelse e.DataCol.name = "列2" orelse e.DataCol.name = "列3" then
e.datarow("列0") = e.datarow("列1") & e.datarow("列2") & e.datarow("列3")
end if

2、这个表不可能只有这5行数据吧。不管有多少行,必须要有一个统一的拆分规则,不然无法处理。