C#搜索txt文件以进行匹配并返回该行的其余部分

时间:2014-06-03 06:29:17

标签: c# file text

为了更清楚,我有一个看起来像这样的txt文件

326785, Dan Humphrey
284728, Serena Van Der Woodsen

我在txt文件中的名字前搜索数字。如果我搜索“326785”,我希望它返回“Dan Humphrey”。

我认为我应该使用split方法,但我不确定如何。

我检查id和passhash是否存在于包含id和密码哈希的另一个txt文件中,但我必须在包含id号和名称的其他txt文件中返回它对应的记录,如上所述。< / p>

 public bool authenticator(string id, string hashedUserPassword)
    {
        string path = ("C:\\Banka\\auth.txt");
        var result = IsStringInFile(path,hashedUserPassword,id);
        return result;
    }

3 个答案:

答案 0 :(得分:3)

你想要这样的东西吗?

public string SearchText(string s)
{

    string[] lines = System.IO.File.ReadAllLines(@"C:\Users\Public\TestFolder\WriteLines2.txt");

    foreach (string line in lines)
    {
        if(line.Contains(s)){
            var l = line.Split(',');
            return l[1];
        }
    }
    return "";
}

答案 1 :(得分:0)

如果文件的结构在所有行上都是相同的(一个数字后跟冒号,然后是名称),您可以逐行读取文件并将其拆分为&#39;,&#39;字符。

然后检查第一部分是否与搜索到的字符串匹配,如果是,则返回第二部分。

答案 2 :(得分:0)

  1. 将该行作为字符串读取,分成两个字符串,分别为“。”
  2. 推入实体(如果真的需要)
  3. 如果您的数字等于提取的字符串(即,splittedString [0]),则显示/获取splittedString [1]