听说用正则可以 智能搜索关键字,但是不知道怎么用,希望懂的朋友能教小弟点。最好是不太占资源的比如我输入一句话 "你好,我想了解一下你们的客服软件?"    要提取出关键字   “客服”和“软件” 两个关键字,来搜索答案

解决方案 »

  1.   

    List<string> tags = new List<string>(new string[]{ "关键字1", "关键字2"});
    int index = -1;
    private string RegReplace(Match m)
    {
      foreach (string tag in tags)
      {
      index = m.Value.IndexOf(tag);
      if (index > -1)
      {
      return m.Value + (i++).ToString();
      }
      }
      return m.Value;
    }
    Console.WriteLine(Regex.Replace(text, "(?<name> 客服|软件)",delegate(Match m){
                return m.Value + (i++).ToString();
            }));
      

  2.   


    首先你要定义你的关键字啊。
    然后在把你的关键字传入你的SQL中查找。select * from 表名 where 列名 like '%关键字%' 当然这个是最简单的方法。效率也不是很好。类似全文检索
      

  3.   


    但是还是要for循环 效率很慢, 我们经理说  只要一个正则 就可以了