Foxtable(狐表)用户栏目专家坐堂 → 请教老师,这种问题的单元格怎么筛选出来


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

主题:请教老师,这种问题的单元格怎么筛选出来

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


加好友 发短信
等级:一尾狐 帖子:424 积分:5121 威望:0 精华:0 注册:2012/11/16 8:21:00
请教老师,这种问题的单元格怎么筛选出来  发帖心情 Post By:2018/9/21 10:51:00 [只看该作者]

1、出现的原因,文字后面被删除了

 

2、难点:有的内容有多级括号相对应,比强下图有的就有两个()组合,筛选出匹配不全的

 

 


图片点击可在新窗口打开查看此主题相关图片如下:括号.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:三尾狐 帖子:763 积分:5466 威望:0 精华:0 注册:2012/10/5 21:53:00
  发帖心情 Post By:2018/9/21 11:11:00 [只看该作者]

判断一下()出现的次数是否为双数就可以了
Dim s As String = "22222(12132(1312)31231212312"
Dim i As Integer =  len(s) - len(s.Replace("(","").Replace(")",""))
If i Mod 2 = 1
    MessageBox.Show("此行有问题")
End If
但是对于括号本身是全的,但是少了内容就判断不出来了,你这可以看下设置的列长度啊,判断列内容长度等于设置列长度的这些一般就有问题。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/21 11:38:00 [只看该作者]

参考代码

 

Dim str As String = "aaa(bbbccdd(efg)999999"
Dim ls As new List(Of String)
For Each s As String In str
    If s = "(" Then
        ls.add("(")
    ElseIf s = ")" Then
        If ls.count > 0 AndAlso ls(ls.count-1) = "(" Then
            ls.RemoveAt(ls.count-1)
        Else
            msgbox("多了),不匹配")
            Exit For
        End If
    End If
Next
msgbox("不匹配括号:" & String.join(",",ls.ToArray))


 回到顶部