Foxtable(狐表)用户栏目专家坐堂 → 字符串内容随心分割实例


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

主题:字符串内容随心分割实例

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


加好友 发短信
等级:二尾狐 帖子:568 积分:6437 威望:0 精华:2 注册:2012/12/23 8:21:00
字符串内容随心分割实例  发帖心情 Post By:2013/4/12 10:32:00 [只看该作者]


这个我弄了一个上午啊,头都都大了
主要问题不是不会什么代码,主要就余数问题....小学数学没有学好啊

以下内容为程序代码:

1 Dim a As String = "得得的的得得的的"
2 Dim b As Integer = a.Length
3 Dim s As Integer = 8
4 If b >= s Then
5 If b Mod 2 = 0 Then
6 If b Mod s = 0 Then
7 For d As Integer = 0 To a.Length -s Step s
8 Output.Show(a.SubString(d,s))
9 Next
10 Else
11 'Dim e As String = a.PadRight(a.Length +1,"/")
12 Dim s1 As Integer = b Mod s
13 Dim s2 As Integer = s - s1
14 Dim e As String =a.PadRight(a.Length +s2,"/")
15 For d As Integer = 0 To e.Length -1 Step s
16 Output.Show(e.SubString(d,s))
17 Next
18 End If
19 Else
20 Dim h As String = a.PadRight(a.Length +1,"/")
21 ' For d As Integer = 0 To e.Length -1 Step s
22 ' Output.Show(e.SubString(d,s))
23 ' Next
24 Dim f As Integer = h.Length
25 If f Mod s = 0 Then
26 For g As Integer = 0 To h.Length -s Step s
27 Output.Show(h.SubString(g,s))
28 Next
29 Else
30 'Dim e As String = a.PadRight(a.Length +1,"/")
31 Dim s1 As Integer = f Mod s
32 Dim s2 As Integer = s - s1
33 Dim j As String =h.PadRight(h.Length +s2,"/")
34 For g As Integer = 0 To h.Length -1 Step s
35 Output.Show(h.SubString(g,s))
36 Next
37 End If
38 End If
39 Else
40 Output.Show("分割数量不得大于字数")
41 End If


 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:新建文本文档.txt



效果不上传了,自己复制代码到命令窗口尝试啊
[此贴子已经被作者于2013-4-12 14:34:03编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/4/12 10:34:00 [只看该作者]

你一次切3个.不是3个的倍数.最后一个不就报错了.很正常啊.

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


加好友 发短信
等级:二尾狐 帖子:568 积分:6437 威望:0 精华:2 注册:2012/12/23 8:21:00
  发帖心情 Post By:2013/4/12 10:39:00 [只看该作者]

哦 恍然大悟啊 谢了

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


加好友 发短信
等级:二尾狐 帖子:568 积分:6437 威望:0 精华:2 注册:2012/12/23 8:21:00
  发帖心情 Post By:2013/4/12 14:35:00 [只看该作者]

更新了,求指教

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/4/12 14:42:00 [只看该作者]

你这是什么意思呢?If b >= s Then 意思不就是说 长度超过8的意思么.那你ELSE  Output.Show("分割数量不得大于字数")  不矛盾吗? 好混乱的逻辑.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/4/12 14:50:00 [只看该作者]

你直接说你想实现什么效果.

 回到顶部
帅哥哟,离线,有人找我吗?
打错潇洒
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:568 积分:6437 威望:0 精华:2 注册:2012/12/23 8:21:00
  发帖心情 Post By:2013/4/12 15:04:00 [只看该作者]

我觉得没有太混乱啊 顶多最后的 Output.Show("分割数量不得大于字数") 描述不清楚
至于你说的 If b >= s Then 是因为 如果变量a的字符串是8个字 而 s的数值是9的话 请问怎么分割字符串  (我的代码里如果不加 If b >= s Then 输出的结果 可能是 s>a  字符串后面带很多的“/“)
还有 我是新手 我写代码时间不长而且我也不是太喜欢做伸手党,除非真的是没有办法了,伸手要,呵呵
谢谢 bin 神人了 感谢啊

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/4/12 15:11:00 [只看该作者]

Dim a As String = "得得的的得得的的但是测试内容得得的的得得的的但是测试内容得得的的得得的的但是测试内容得得的的得得的的但是测试内容"
Dim b As Integer = a.Length
Dim s As Integer =5
Dim c As Integer =  Int(a.Length/s)*s-s
If b = s Then
      Output.Show(a)
ElseIf  b > s Then
    For d As Integer = 0 To c Step s
        Output.Show(a.SubString(d,s))
    Next
    If b > c+s Then Output.Show(a.SubString(c+s))
Else
    Output.Show("分割数量不得大于字数")
End If

 回到顶部
帅哥哟,离线,有人找我吗?
打错潇洒
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:568 积分:6437 威望:0 精华:2 注册:2012/12/23 8:21:00
  发帖心情 Post By:2013/4/12 15:18:00 [只看该作者]

哥 厉害啊  就这么简单的代码 我喜欢 感谢啊  

 回到顶部