以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何提取语句关键词 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194803) |
-- 作者:timber83 -- 发布时间:2025/1/16 10:08:00 -- 如何提取语句关键词 表A 序号 语句 关键词 Q0001
企业未按规定设置特种设备安全管理机构 Q0002
企业未按规定配备特种设备安全管理负责人 Q0003
企业未按规定配备专职特种设备安全管理员 表B 序号 关键词 1 企业 2 未按规定设置 3 特种设备 4 安全管理 5 机构 6 未按规定配备 如何将表A每一行语句中包含表A的关键词提取对应行的关键词的列中, 形成如下结果 序号 语句 关键词 Q0001
企业未按规定设置特种设备安全管理机构 企业,未按规定设置,特种设备,安全管理,机构 Q0002
企业未按规定配备特种设备安全管理负责人 企业,未按规定配备,特种设备,安全管理, Q0003
企业未按规定配备专职特种设备安全管理员 企业,未按规定配备,特种设备,安全管理, |
-- 作者:y2287958 -- 发布时间:2025/1/16 10:15:00 -- 上例子 |
-- 作者:有点蓝 -- 发布时间:2025/1/16 10:17:00 -- 表A,datacolchanged事件 If e.DataCol.name = "语句" Then If e.DataRow.isnull("语句") Then e.DataRow("关键词") = Nothing Else Dim s As String = DataTables("表B").GetComboListString("关键词", "\'" & e.newvalue & "\' like \'%\' + 关键词 + \'%\'") e.DataRow("关键词") = s.Replace("|", ",") End If End If |
-- 作者:timber83 -- 发布时间:2025/1/16 10:17:00 -- 这是结果例子 序号 语句 关键词 Q0001 企业未按规定设置特种设备安全管理机构 企业,未按规定设置,特种设备,安全管理,机构 Q0002 企业未按规定配备特种设备安全管理负责人 企业,未按规定配备,特种设备,安全管理, Q0003 企业未按规定配备专职特种设备安全管理员 企业,未按规定配备,特种设备,安全管理,
|
-- 作者:y2287958 -- 发布时间:2025/1/16 10:22:00 -- Output.Show(String.Join(",", "企业,未按规定设置,特种设备,安全管理,机构,未按规定配备".Split(","). Where(Function(元素) regex.IsMatch("企业未按规定设置特种设备安全管理机构", 元素))))
|
-- 作者:timber83 -- 发布时间:2025/1/16 10:59:00 -- 运行错误提示: .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2024.11.1.1 错误所在事件:表,特征, DataColChanged 详细错误信息: 调用的目标发生了异常。 无法在 System.String 和 System.DBNull 上执行“Like”操作。
|
-- 作者:timber83 -- 发布时间:2025/1/16 11:09:00 -- 运行错误提示: .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2024.11.1.1 错误所在事件:表,特征, DataColChanged 详细错误信息: 调用的目标发生了异常。 无法在 System.String 和 System.DBNull 上执行“Like”操作。
|
-- 作者:有点蓝 -- 发布时间:2025/1/16 11:27:00 -- 试试 Dim s As String = DataTables("表B").GetComboListString("关键词", "\'" & e.newvalue & "\' like \'%\' + 关键词 + \'%\' and 关键词 is not null")
|
-- 作者:timber83 -- 发布时间:2025/1/16 11:31:00 -- 还是运行错误: .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2024.11.1.1 错误所在事件:表,特征, DataColChanged 详细错误信息: 调用的目标发生了异常。 无法在 System.String 和 System.DBNull 上执行“Like”操作。 是不是like 不能用?
|
-- 作者:有点蓝 -- 发布时间:2025/1/16 11:41:00 -- 再试试 Dim s As String = DataTables("表B").GetComboListString("关键词", "\'" & e.newvalue & "\' like \'%\' + isnull(关键词,\'null\') + \'%\'") |