Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 指示每个匹配记录的关键字匹配次数_C#_Asp.net - Fatal编程技术网

C# 指示每个匹配记录的关键字匹配次数

C# 指示每个匹配记录的关键字匹配次数,c#,asp.net,C#,Asp.net,如何获取csv文件中每个匹配记录的关键字匹配次数 我需要搜索csv文件中[StringData]中的所有字符,以找到包含单词的记录,以及文本框搜索中StringData中匹配的多次 代码 您可以向DataTable添加一个新列,并使用以下方法计算每个行的内存值: 另请参见:谢谢您的帮助,兄弟,您真的救了我,但我想问,有没有办法将REGEXP\u计数放入Oledb查询中?所以我不需要再次循环数据 string search = txtBoxSearch.Text;

如何获取csv文件中每个匹配记录的关键字匹配次数

我需要搜索csv文件中[StringData]中的所有字符,以找到包含单词的记录,以及文本框搜索中StringData中匹配的多次

代码


您可以向DataTable添加一个新列,并使用以下方法计算每个行的内存值:


另请参见:

谢谢您的帮助,兄弟,您真的救了我,但我想问,有没有办法将REGEXP\u计数放入Oledb查询中?所以我不需要再次循环数据
        string search = txtBoxSearch.Text;
        string pathOnly = Path.GetDirectoryName(csvPath);
        string fileName = Path.GetFileName(csvPath);

        string sql = @"SELECT F1 AS StringID, F2 AS StringContent FROM [" + fileName + "] WHERE F2 LIKE '%" + search + "%'";

        using (OleDbConnection connection = new OleDbConnection(
                  @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathOnly +
                  ";Extended Properties=\"Text;HDR=No\""))
        using (OleDbCommand command = new OleDbCommand(sql, connection))
        using (OleDbDataAdapter adapter = new OleDbDataAdapter(command))
        {
            DataTable dataTable = new DataTable();
            adapter.Fill(dataTable);
            GridViewResult.DataSource = dataTable;
            GridViewResult.DataBind();
        }
string search = txtBoxSearch.Text;
string pathOnly = Path.GetDirectoryName(csvPath);
string fileName = Path.GetFileName(csvPath);

string sql = @"SELECT F1 AS StringID, F2 AS StringContent FROM [" + fileName + "] WHERE F2 LIKE '%" + search + "%'";

using (OleDbConnection connection = new OleDbConnection(
          @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathOnly +
          ";Extended Properties=\"Text;HDR=No\""))
using (OleDbCommand command = new OleDbCommand(sql, connection))
using (OleDbDataAdapter adapter = new OleDbDataAdapter(command))
{
    DataTable dataTable = new DataTable();
    adapter.Fill(dataTable);
    dataTable.Columns.Add("MatchTimes", typeof(System.Int32));
    
    foreach(DataRow row in dataTable.Rows)
    {
        row["MatchTimes"] = Regex.Matches(row["StringContent"].ToString(), row["StringID"].ToString()).Count
    }

    GridViewResult.DataSource = dataTable;
    GridViewResult.DataBind();
}