以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]字符串中的单引号 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=161584) |
-- 作者:天一生水 -- 发布时间:2021/3/23 14:42:00 -- [求助]字符串中的单引号 老师好! 下图中,在数据表中筛选出[不通过]的单词时,由于里面可能包含带有单引号的短句,所以会报错。后面的加黑代码怎样修改? 谢谢!
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() |
-- 作者:有点蓝 -- 发布时间:2021/3/23 14:46:00 -- Dim st As String =s.Replace("\'","\'\'") 一个单引号替换为2个单引号 |
-- 作者:天一生水 -- 发布时间:2021/4/3 17:45:00 -- 蓝老师,针对“What’s the matter?” 这种带单引号的短句,条件表达式里使用通配符“%”,是可以了,但是会扩大其他单词的筛选范围。 Filter &= " or " & "单词" & " Like \'%" & st & "%\'" 去掉表达式里的通配符“%”,又会找不到“What’s the matter?”。 Filter &= " or " & "单词" & " Like \'" & st & "\'" 这个怎样处理! |
-- 作者:有点蓝 -- 发布时间:2021/4/5 20:14:00 -- Filter &= " or 单词 Like \'" & st.Replace("\'","\'\'") & "\'" |