C# 用C语言从文本文件中提取数据#

C# 用C语言从文本文件中提取数据#,c#,regex,C#,Regex,我正在尝试从.txt文件中提取数据。我需要从不同的.txt文件中提取组号、订户Id、名称和地址(您的网络) 使用FlexReader ocr从保险卡中提取文本文件中的数据 sample Text file 1: --------------------- Subscriber ID: AH0002305 PAUL KELLERMAN Medical plan: PPO Group number: L16788344 Allied Pharmacy benefit: CVS Caremar

我正在尝试从.txt文件中提取数据。我需要从不同的.txt文件中提取组号、订户Id、名称和地址(您的网络)

使用FlexReader ocr从保险卡中提取文本文件中的数据

sample Text file 1:
---------------------
Subscriber ID: AH0002305 
PAUL KELLERMAN
Medical plan: PPO 
Group number: L16788344 
Allied 
Pharmacy benefit: CVS Caremark 
RXBIN: 004336 
RXPCN: ADV 
RXGRP: RX4219 
ORX mail order: 
855.566.8393 
Pharmacy help desk: 
800.364.6331 
a remark.com 

Sample Text file 2:
----------------------
 • 
'11, • 
cStarmark 
A Morn, a k ompam 
Employee 
Member: JOHN ABRUZZ 
ID: 3780-1290 Mem Eff: 09/01/2016 
Group ID: MF873078E 
Employer: MINDFLOW 
INC 
Copay: OV $40 \ UC $85 \ ER $500 
Ded: $3000 \ $6000 Fam Ded: $6000 \ $12000 
Coins: 80% \ 60% 
Claims Submission 
Aetna partopa ing 
EDI: 61425 
Mail: Starmark 
P.O. Box 2942 
Clinton, IA 52733-2942 
• • t. doctors and hospitals are independent 
providers and are neither agents nor employees of Aetna. 
Self-funded Plan Administered by Starmark 
llr 
Pharmacy Vendor 
CVS/caremark 
877-876-7217 
RxID: 32149890C 
RxBIN: 004336 
RxPCN: ADV 
RxGRP: RX0022 
ISSUER: 80840 
Ded: $0 Copay: $15 \ $45 \ $75 
Medical PPO Network 
Aetna Signature 
Administrators' PPO 
By aetna 
To locate a PPO provider: 
 www.aetna.com/asa 
 800-522-1246 
对我来说,主要的问题是,在一个文件中它是订户ID,而在另一个文件中它被称为成员ID,我怎么能认为它们是相同的,有人能帮我解决这个问题吗。我是一名实习开发人员,在C#方面没有太多经验

我尝试了这个代码,但它与模式匹配

    class Program
    {
        static void Main(string[] args)
        {
            string path = @"C:\Users\Kumar\Desktop\Insurance text\Previous.out.txt";
            StringBuilder buffer = new StringBuilder();
            using (StreamReader sr = new StreamReader(path))
            {
                while (sr.Peek() >= 0)
                {
                    String str = sr.ReadLine();
                    if (Regex.IsMatch(str, "Subscriber ID"))
                        buffer.Append(str + "\n");  
                }
            }
            Console.WriteLine(buffer.ToString());
             Console.ReadLine();
    }
}
在一个文件中它是订户ID,而在另一个文件中它被称为成员ID,我怎么能认为它们是相同的呢

编写一个映射函数,但将数据视为一个<代码> ID/COD>,然后在实体读取之后将主程序中的数据关联起来,并存储这两个变量。 我正在尝试从.txt文件中提取数据。我需要从不同的.txt文件中提取组号、订户Id、名称和地址(您的网络)

您需要编写两个不同的进程来提取数据。对每个正则表达式使用两个不同的正则表达式

在一个文件中它是订户ID,而在另一个文件中它被称为成员ID,我怎么能认为它们是相同的呢

编写一个映射函数,但将数据视为一个<代码> ID/COD>,然后在实体读取之后将主程序中的数据关联起来,并存储这两个变量。 我正在尝试从.txt文件中提取数据。我需要从不同的.txt文件中提取组号、订户Id、名称和地址(您的网络)


您需要编写两个不同的进程来提取数据。对每个正则表达式使用两个不同的正则表达式

对我来说,你必须根据文本文件的内容创建两种不同的方法来解析文本文件。我认为关键,正如你所说的是“一个文件”和另一个文件。如果文件不太长,根据Marcie的建议,编写一个函数来验证文件类型(如果包含字段等),然后将其传递给要解析的方法。如果您以后可以使用fancy regex,那么一切都不会丢失-您仍然可以更新函数。
If(regex.IsMatch(str,Subscriber ID | Member ID))
,因为使用的名称是“越狱”中的字符,希望它不是真实的信息。老实说,从这些文件中提取所需的数据可能是不切实际的,几乎是不可能的,因为它们不是为遵循任何一致的格式而设计的。如果你能以某种方式解释每个场景,那么下一个文件可能包含不同的内容。对我来说,你必须根据文本文件的内容创建两种不同的方法来解析文本文件。我认为,正如你所说,关键是“一个文件”与另一个文件。如果文件不太长,根据Marcie的建议,编写一个函数来验证文件类型(如果包含字段等),然后将其传递给要解析的方法。如果您以后可以使用fancy regex,那么一切都不会丢失-您仍然可以更新函数。
If(regex.IsMatch(str,Subscriber ID | Member ID))
,因为使用的名称是“越狱”中的字符,希望它不是真实的信息。老实说,从这些文件中提取所需的数据可能是不切实际的,几乎是不可能的,因为它们不是为遵循任何一致的格式而设计的。如果您能够以某种方式解释每个场景,那么下一个文件可能包含不同的内容。