Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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,我有一个记事本,上面有固定格式的句子,比如 name... Image... Text... 我需要从记事本中读取具有给定条件的所有文本选项 首先,我需要计算所有以#开头的单词 第二,我需要计算重复的单词,比如a,an,the,is,am,are,do,did 如何计算此值?对于文件中的每个单词,将它们添加到C#列表中。 添加它们时,如果List.Contains(要添加的项),则将其标记为重复项(除非它是您要排除的词之一)这可能是一个长期问题,要从记事本的打开实例中获取文本,您需要使用Win

我有一个记事本,上面有固定格式的句子,比如

name...
Image...
Text...
我需要从记事本中读取具有给定条件的所有文本选项

首先,我需要计算所有以#开头的单词

第二,我需要计算重复的单词,比如a,an,the,is,am,are,do,did


如何计算此值?

对于文件中的每个单词,将它们添加到C#列表中。
添加它们时,如果List.Contains(要添加的项),则将其标记为重复项(除非它是您要排除的词之一)

这可能是一个长期问题,要从记事本的打开实例中获取文本,您需要使用Windows API:

首先,您需要获取记事本的运行实例:

Process[] processes = Process.GetProcessesByName("notepad");
然后遍历它们

foreach (Process p in processes)
{
    IntPtr pFoundWindow = p.MainWindowHandle;
    ....
p/调用GetNextWindow以查找包含文本的顶部窗口

HWND GetNextWindow(HWND hWnd, UINT wCmd );
然后将WM_GETTEXT消息发送到该窗口,该窗口将检索文本

HWND GetNextWindow(HWND hWnd, UINT wCmd );

然后你可以分析文本并计算单词数。

那么,你想读一个文本文件,在该文本文件中查找特定的行,然后用你从中读取的文本进行填充,对吗

这里有很多选择,但不清楚你是否看过其中任何一个。您可以使用各种Stream/TextReader类中的一种来读取此文件,但我想(现在)您需要一个非常简单的API来完成此操作

查看System.IO.File类及其公开的成员

文件公开了ReadAllLines方法,这是一个非常简单的API,用于将文本文件中的所有行读取到数组中

如果你有大量的文件,这可能不是最好的API,但是这是一种非常简单的方式来使用文本文件中的行


一旦你有了数组,你描述的所有其他事情都很简单-处理数组中的每个项目,并根据你的需要进行计数和处理。

你的意思是你有一个文本文件?这不是家庭作业,也应该是以前的:(谢谢回复,请提供更多详细信息
tempAccounts = GlobusFileHelper.ReadFiletoStringList(Path);

       foreach (string AcctData in tempAccounts)
        {
            string[] tempArray = AcctData.Split(':');
           foreach (string accounts in tempAccounts)
            {
                DecaptchaAccounts.Add(accounts);
            }

        }