以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助:根据字符数自动按二十个字符 进行拆分成多个字符串  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=131232)

--  作者:李孝春
--  发布时间:2019/2/20 18:41:00
--  求助:根据字符数自动按二十个字符 进行拆分成多个字符串
面的代码能够实现100个字的拆分  如果当前字符低于120个之后,就会提示报错(代码中注释部分就是值不足)
有没有办法加入一个机制:根据当前字符数来自动判断拆分多少组 避免报错呢?
另外下面的代码约显得臃肿了些  有没有更加简单高效的处理办法呢?

Dim S1 As String ="市场监管总局官网2月19日发布公告2018年12月蜂蜜的违规行为市场监管总局官网2月19日发布公告2018年12月蜂蜜的违规行为市场监管总局官网2月19日发布公告2018年12月蜂蜜的违规行为市场监管总局官网2月19日发布公告2018年12月蜂蜜的违规行为市场监管总局官网2月19日发布公告2018年12月蜂蜜的违规行为"
Dim s2 As String= s1.SubString(0,20)
Dim s3 As String= s1.SubString(0,20)
Dim s31 As String= s1.SubString(20,20)
Dim s32 As String= s1.SubString(40,20)
Dim s33 As String= s1.SubString(60,20)
Dim s34 As String= s1.SubString(80,20)
\'Dim s35 As String= s1.SubString(100,20)
\'Dim s36 As String= s1.SubString(120,20)
\'Dim s37 As String= s1.SubString(140,20)
\'Dim s38 As String= s1.SubString(160,20)
\'Dim s39 As String= s1.SubString(180,20)
\'Dim s30 As String= s1.SubString(200,20)
\'Dim s301 As String= s1.SubString(220,20)
\'Dim s302 As String= s1.SubString(240,20)
Output.Show("s2 = " & s2)
Output.Show("s3 = " & s3)
Output.Show("s31 = " & s31)
Output.Show("s32 = " & s32)
Output.Show("s33 = " & s33)
Output.Show("s34 = " & s34)
\'Output.Show("s35 = " & s35)
\'Output.Show("s36 = " & s36)
\'Output.Show("s37 = " & s37)
\'Output.Show("s38 = " & s38)
\'Output.Show("s39 = " & s39)
\'Output.Show("s30 = " & s30)
\'Output.Show("s311 = " & s301)
\'Output.Show("s311 = " & s302)

--  作者:菜鸟王中王
--  发布时间:2019/2/20 19:00:00
--  
用数组
--  作者:李孝春
--  发布时间:2019/2/20 19:01:00
--  回复:(菜鸟王中王)用数组
有没有可以参考学习的列子呢
--  作者:有点蓝
--  发布时间:2019/2/20 20:37:00
--  
Dim S1 As String ="市场监管总局官网2月19日发布公告2018年12月蜂蜜的违规行为市场监管总局官网2月19日发布公告2018年12月蜂蜜的违规行为市场监管总局官网2月19日发布公告2018年12月蜂蜜的违规行为市场监管总局官网2月19日发布公告2018年12月蜂蜜的违规行为市场监管总局官网2月19日发布公告2018年12月蜂蜜的违规行为456879"
Output.Show(s1.Length )
Dim cnt As Integer = Math.Ceiling(s1.Length / 20)
Dim lst As new List(of String)
For i As Integer = 0 To cnt - 2
    lst.Add(s1.SubString(i*20,20))
Next
lst.Add(s1.SubString((cnt - 1)*20))
For Each s As String In lst
    Output.Show(s)
Next

--  作者:李孝春
--  发布时间:2019/2/20 21:45:00
--  回复:(有点蓝)Dim S1 As String ="市场监管总局官网...
谢谢老师