目前,我正在尝试使用我的程序构建映射函数,以便有人可以在序列号中输入人类可读的名称,例如:
if the string contains "829283" display the name "Test Company".
客户端能够创建他们希望的许多规则,它们存储在具有以下布局的SQL表中:P
| PROFILE | FILTER | MAPPEDTO |
Profile1 8273 MyCompany
Profile1 HT75 ThatOther1
所以基本上,我希望程序运行从文本文件中提取的所有项目,然后检查每一行(大约250ish)是否有任何表格中出现的“FILTER”值,如果程序是找到一个过滤值,然后用公司名称填充另一列。
我想不出这样做的方式,所以我很感激你们可以提供的任何帮助。
谢谢
答案 0 :(得分:0)
您可以使用正则表达式查找引用字符串的前两次出现。
string s = "if the string contains \"829283\" display the name \"Test Company\".";
string pattern = ".*\"(.*)\".*\"(.*)\"";
Match m = Regex.Match(s, pattern);
if (m.Success)
{
string filter = m.Groups[1].Value;
string mappedTo = m.Groups[2].Value;
}
然后查询数据库并相应地更新/插入记录