C# 这个云是什么样的格式,以及如何从这个文本中提取key:value对
我的任务是将旧的Clarion(top speed)应用程序转换为MS-SQL数据库。C# 这个云是什么样的格式,以及如何从这个文本中提取key:value对,c#,regex,text,C#,Regex,Text,我的任务是将旧的Clarion(top speed)应用程序转换为MS-SQL数据库。 我对旧应用程序没有任何支持,我必须自己做。 我找不到Clarion ODBC驱动程序,我只需要一次数据对话。 当我用TopSpeed编辑器打开TopSpeed表时,我发现文件的结构如下 FILE,DRIVER('TOPSPEED'),NAME('C:\bIRA2013\BIRA_ARHIMED\ROBAGR.TPS') ROBAGR:K_SIFGRU KEY(+ROBAGR:SIFGRU),NOCA
我对旧应用程序没有任何支持,我必须自己做。
我找不到Clarion ODBC驱动程序,我只需要一次数据对话。 当我用TopSpeed编辑器打开TopSpeed表时,我发现文件的结构如下
FILE,DRIVER('TOPSPEED'),NAME('C:\bIRA2013\BIRA_ARHIMED\ROBAGR.TPS')
ROBAGR:K_SIFGRU KEY(+ROBAGR:SIFGRU),NOCASE,PRIMARY
ROBAGR:K_PRIHOD1_SIFGRU KEY(+ROBAGR:PRIHOD1,+ROBAGR:SIFGRU),DUP,NOCASE
ROBAGR:K_PRIHOD2_SIFGRU KEY(+ROBAGR:PRIHOD2,+ROBAGR:SIFGRU),DUP,NOCASE
ROBAGR:K_KUPAC_SIFGRU KEY(+ROBAGR:KUPAC,+ROBAGR:SIFGRU),DUP,NOCASE
RECORD RECORD
ROBAGR:SIFGRU STRING(10)
ROBAGR:NAZIV STRING(30)
ROBAGR:STOPA DECIMAL(7,2)
ROBAGR:KOEF1 DECIMAL(7,4)
ROBAGR:KOEF2 DECIMAL(7,4)
ROBAGR:PRIHOD1 STRING(10)
ROBAGR:PRIHOD2 STRING(10)
ROBAGR:KUPAC STRING(10)
ROBAGR:ID STRING(2)
ROBAGR:D LONG
END
END
要在SQL中创建新表,我需要分析此文本的列名和类型。这是某种标准的tex格式,所以我可以搜索C#库来解析它。
INI文件有这么多的C#库,而且很容易使用,这种格式是否适合任何“通用”格式,以便我可以提取这种格式的值?
我需要在记录和首字母结尾之间堆叠数据。
如果我被迫手动解析此文本,我应该使用正则表达式还是其他方法?
我想用C#解析这个文件。如果你想用正则表达式,你可以尝试以下方法:
(?:RECORD|\G)\s*ROBAGR:(\S+)\s*(\S+)
如果您想使用正则表达式,可以尝试以下方法:
(?:RECORD|\G)\s*ROBAGR:(\S+)\s*(\S+)
我不知道这种格式,因此不回答问题,但似乎你可以很容易地用Regex做到这一点,因为你知道每个新的列标题都以“ROBAGR”开头,数据类型在选项卡后面……我不知道这种格式,因此不回答问题,但是,如果您知道每个新的列标题都以“ROBAGR”开头,并且数据类型在选项卡后面,那么使用Regex似乎可以很容易地做到这一点。。。