Foxtable(狐表)用户栏目专家坐堂 → [求助]字符串拆分问题


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

主题:[求助]字符串拆分问题

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


加好友 发短信
等级:五尾狐 帖子:1014 积分:7535 威望:0 精华:0 注册:2010/4/12 12:23:00
[求助]字符串拆分问题  发帖心情 Post By:2013/12/21 12:21:00 [显示全部帖子]

为了美观,增加可读性。我将textbox2的字符串在拼接时使用了两个vbcrlf。代码如下:

e.form.controls("TextBox2").text=e.form.controls("TextBox2").text & vbcrlf & vbcrlf & sql

但是将其进行拆分时split(vbcrlf & vbcrlf)仍然有空行,代码如下,怎么回事!

Dim str As String= e.Form.Controls("TextBox2").value
Dim n As Integer
Dim strs() As String
strs =str.Split(vbcrlf & vbcrlf)
n=strs.Length
Dim i As Integer
Dim dt(i) As fxDataSource
For i = 0 To n-1
MessageBox.Show(strs(i),"提示")    
Next

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


加好友 发短信
等级:五尾狐 帖子:1014 积分:7535 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By:2013/12/21 15:01:00 [显示全部帖子]

textbox2的内容如下:

登记时间: 否;入院时间:否;开始时间: 无;截止时间: 无;患者种类: 无;统计项目: 性别.

登记时间:是;入院时间:否;开始时间: 无;截止时间: 无;患者种类: 失访患者(登记时间);统计项目: 性别.


点击“统计”后,出现运行错误,代码如下:
Dim str As String= e.Form.Controls("TextBox2").value
Dim n As Integer
Dim strs() As String
strs =str.replace(vbcr,"").Split(vblf)
n=strs.Length
Dim i As Integer
Dim dt(i) As fxDataSource
For i = 0 To n-1
    If strs(i)>"" Then
        Dim s() As String =strs(i).Split(";")
        For j As Integer = 0 To s(j).length-1
            If s(j)  > "" Then
                MessageBox.Show(s(j),"提示")
            End If
        Next
    End If
Next

错误提示如下,在出现第一段后面,第二段前面。

图片点击可在新窗口打开查看此主题相关图片如下:360软件小助手截图20131221150249.jpg
图片点击可在新窗口打开查看


[此贴子已经被作者于2013-12-21 15:03:34编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1014 积分:7535 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By:2013/12/21 15:05:00 [显示全部帖子]

那个是后面需要用来合并统计表的。


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


加好友 发短信
等级:五尾狐 帖子:1014 积分:7535 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By:2013/12/21 15:23:00 [显示全部帖子]

没有这个循环的时候对的,加了这个循环后就出现了问题。拆分第一段字符串的时候没问题,在第一段字符串后、第二段开始前出现了上面的错误提示。应该是s(j)中的j没有重置的问题。

  Dim s() As String =strs(i).Split(";")
        For j As Integer = 0 To s(j).length-1
            If s(j)  > "" Then
                MessageBox.Show(s(j),"提示")
            End If
        Next
[此贴子已经被作者于2013-12-21 15:23:30编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1014 积分:7535 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By:2013/12/21 15:29:00 [显示全部帖子]

谢谢。就那儿错了。

 回到顶部