Foxtable(狐表)用户栏目专家坐堂 → 如何用正则判断某一列中符合条件的行?


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

主题:如何用正则判断某一列中符合条件的行?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/20 15:30:00 [显示全部帖子]

不明白你的意思,直接写

 

DataTables("表A").DeleteFor("第一列 = '1.2' or 第一列 = ''1.2.3")


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/20 15:34:00 [显示全部帖子]

 那你可以删除,包含了句号 . 的行

 

DataTables("表A").DeleteFor("第一列 like '%.%'")

 

 如果要全部匹配,那么,你就要循环每一行,比较后,才能删除行。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/20 15:46:00 [显示全部帖子]

Dim dt As DataTable = DataTables("表A")
For i As Integer = dt.datarows.count-1 To 0 Step -1
    Dim str As String = dt.datarows(i)("第一列")
    Dim reg As new System.Text.RegularExpressions.Regex("^[0-9.]+\.+[0-9]+$")
    If reg.Ismatch(str) = True Then
        dt.datarows(i).delete
    End If
Next

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/20 16:39:00 [显示全部帖子]

Dim dt As DataTable = DataTables("表A")
For i As Integer = dt.datarows.count-1 To 0 Step -1
    Dim str As String = dt.datarows(i)("第一列")
    Dim reg As new System.Text.RegularExpressions.Regex("^[a-zA-Z]+[.0-9]+$")
    If reg.Ismatch(str) = True Then
        dt.datarows(i).delete
    End If
Next

 回到顶部