【发布时间】:2016-02-10 15:21:19
【问题描述】:
我需要清理用户的输入字符串,因为我稍后在 OLEDB 查询中使用该字符串来索引文档存储库以查找匹配的文件、描述等。问题是我不能在查询中使用包含特殊字符的字符串在CONTAINS 语句中。
有没有比我正在做的更好的方法来消毒而不降低准确性?
我目前正在做的是获取搜索字符串,并使用正则表达式对其进行验证:[^0-9a-zA-Z\s\/\._-]+ 并将其替换为空字符串以删除搜索字符串中的任何特殊字符。
我的问题是某些文件和描述包含特殊字符,如 & 和 $,如果我不允许任何类型的特殊字符,搜索精度会下降。有没有更有效的方法来做到这一点?
【问题讨论】:
标签: c# regex search oledb windows-search