1

我的应用程序将需要输入字符串和存储在我的数据库中的字符串之间的字符串匹配函数。这些字符串涉及产品尺寸(如长度、高度等)。我的目标是检查输入的字符串是否已存在于我的数据库中,但可能使用另一种模式,例如:

输入:如果我的数据库中有“vis 4X40”或“vis 4 x 40”或“vis 4*40”之类的内容,“vis 4*40”应该返回 true。

我发现的唯一方法是使用正则表达式来规范我的数据库以替换模式,例如:

 \d+ *[xX*] *\d+

使用标准化的(例如 NumberXNumber),对输入中的字符串执行相同操作,然后尝试找到它。但是我想知道是否有任何工具已经存在并且允许我这样做。(我正在使用 C# .NET V4)

4

2 回答 2

1

更好的方法是连接两个数据然后匹配它们

string target=inputString+"#"+storedString;

if(Regex.IsMatch(target,"(\d+) *[xX*] *(\d+)#\1 *([xX*]) *\2"))
        //the string is in the database
else
       //it is not
于 2012-11-28T14:47:29.120 回答
0

只需使用用户提供的通配符,替换为*%查询您的表:SELECT col FROM table WHERE col LIKE 'vis 4%40'

确保您使用参数执行查询。

于 2012-11-28T14:36:58.813 回答