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