gpt4 book ai didi

c# - 在文本文件中搜索特定单词并显示其所在的行

转载 作者:太空狗 更新时间:2023-10-29 20:02:39 29 4
gpt4 key购买 nike

我在使用 C# 尝试在文本文件中查找单词时遇到问题。

我想找到输入到控制台的单词,然后在 控制台中显示找到该单词的整行。

在我的文本文件中我有:

Stephen Haren,十二月,9,4055551235

Laura Clausing,January,23,4054447788

William Connor,12 月 13 日,123456789

卡拉·玛丽,十月,23,1593574862

奥黛丽·卡瑞特,一月,16,1684527548

塞巴斯蒂安贝克,十月,23,9184569876

因此,如果我输入“December”,我希望它显示“Stephen Haren,December,9,4055551235”和“William Connor,December,13,123456789”。

我考虑过使用子字符串,但我认为必须有更简单的方法。

给出答案后我的代码:

using System;
using System.IO;
class ReadFriendRecords
{
public static void Main()
{
//the path of the file
FileStream inFile = new FileStream(@"H:\C#\Chapter.14\FriendInfo.txt", FileMode.Open, FileAccess.Read);
StreamReader reader = new StreamReader(inFile);
string record;
string input;
Console.Write("Enter Friend's Birth Month >> ");
input = Console.ReadLine();
try
{
//the program reads the record and displays it on the screen
record = reader.ReadLine();
while (record != null)
{
if (record.Contains(input))
{
Console.WriteLine(record);
}
record = reader.ReadLine();
}
}
finally
{
//after the record is done being read, the progam closes
reader.Close();
inFile.Close();
}
Console.ReadLine();
}
}

最佳答案

遍历所有行(StreamReader、File.ReadAllLines 等)并检查是否line.Contains("December")(用用户输入替换“December”)。

编辑:如果您有大文件,我会选择 StreamReader。并使用来自@Matias Cicero 的 IndexOf-Example 而不是 contains 不区分大小写。

Console.Write("Keyword: ");
var keyword = Console.ReadLine() ?? "";
using (var sr = new StreamReader("")) {
while (!sr.EndOfStream) {
var line = sr.ReadLine();
if (String.IsNullOrEmpty(line)) continue;
if (line.IndexOf(keyword, StringComparison.CurrentCultureIgnoreCase) >= 0) {
Console.WriteLine(line);
}
}
}

关于c# - 在文本文件中搜索特定单词并显示其所在的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33261565/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com