我有这样的数据表:
column1 column2
--------------------
1 12345 John
2 123 Jane
3 1236 Sam
4 23457 Sarah
我想检查此数据表中是否存在左侧的字符串或子字符串。 例如,如果123678是我正在寻找的字符串,则应返回记录3(尽管记录2也是匹配,记录3具有更常见的字符)。如果我正在寻找345789,则不应返回任何内容(尽管记录4有4个常见字符,但它们在第一个字符中有所不同)。
目前我正在使用下面的代码,但我认为它可以增强。有什么想法吗?
public int? FindStr (string input)
{
maxLenDt = Dt.Compute("Max(column1)", "").ToString().Length;
minLenDt = Dt.Compute("Min(column1)", "").ToString().Length;
int lc = maxLenDt > input.Length ? input.Length : maxLenDt;
for (int i = lc; i >= minLenDt; i--)
{
string code = input.Substring(0,i);
var dw = Dt.Select("column1 = " + code );
if (dw.Length > 0)
{
//return row
}
}
}