Foxtable(狐表)用户栏目专家坐堂 → [求助]字符串中的单引号


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

主题:[求助]字符串中的单引号

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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
[求助]字符串中的单引号  发帖心情 Post By:2021/3/23 14:42:00 [只看该作者]

老师好!
下图中,在数据表中筛选出[不通过]的单词时,由于里面可能包含带有单引号的短句,所以会报错。后面的加黑代码怎样修改?
谢谢!

图片点击可在新窗口打开查看此主题相关图片如下:截屏图片.jpg
图片点击可在新窗口打开查看


Dim str As String = ""
Dim drs As List(Of DataRow)
drs = Tables("练习日志_Table1").DataTable.Select("标注 = true")
For Each dr As DataRow In drs
    str & = dr("不通过单词") & "、"
Next

Dim t As Table = Tables("数据表_Table1")
If str = ""
    t.Filter = ""
Else
    Dim Filter As String = "1=2"
    Dim sps() As Char = {",",",","、"}
    For Each s As String In str.split(sps)
        Dim st As String =s.Replace("'","@").Replace("’","@")

        If st > "" Then
            Filter &= " or " & "单词" & " Like '%" & st & "%'"
        End If
    Next
msgbox(Filter)
    t.Filter = Filter.Replace("@","'")
    
End If
Forms("练习日志").close
Forms("练习").open()

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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/23 14:46:00 [只看该作者]

Dim st As String =s.Replace("'","''") 一个单引号替换为2个单引号

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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2021/4/3 17:45:00 [只看该作者]

蓝老师,针对“What’s the matter?” 这种带单引号的短句,条件表达式里使用通配符“%”,是可以了,但是会扩大其他单词的筛选范围。     

Filter &= " or " & "单词" & " Like '%" & st & "%'"

去掉表达式里的通配符“%”,又会找不到“What’s the matter?”。

Filter &= " or " & "单词" & " Like '" & st & "'"

这个怎样处理!


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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/5 20:14:00 [只看该作者]

Filter &= " or 单词 Like '" & st.Replace("'","''") & "'"

 回到顶部