读取在控制字符上分割的文本文件行? IE。 [STX],[FS]

已加入
2014年12月11日
留言内容
24
编程经验
1-3
我有一个基本上是平面XML文件的文本文件。字段分隔符是控制字符[STX],[FS]等。
我之前已经处理过此问题(在行内循环),但没有处理控制字符。我不确定如何在控制字符上运行SPLIT()函数?
文件将是:
[STX] Value1 [FS] Value2 [ETX]
[STX] Value3 [FS] Value4 [ETX]

我在[STX]上运行了整个文件拆分,然后处理了每一行:
第1行= [STX]值1 [FS]值2 [ETX]

我想分割[FS]上的行,结果是:
项(0)=值1和项(1)=值2

显然,还有更多细节。但是,如果我可以使用这个基本框架,则可以适当地扩展它。

谢谢!
NCPDP图片.jpg
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,563
地点
悉尼,澳大利亚
编程经验
10+
控制字符仍然是一个字符,因此您可以像处理其他任何字符一样对它们进行拆分。有很多String.Split重载将接受一个或多个`char`值,因此只需创建适当的`char`值即可,例如使用Convert.ToChar从一个`int`中创建一个,然后像往常一样调用Split。
 
已加入
2014年12月11日
留言内容
24
编程经验
1-3
谢谢!我终于能够创建一个有效的拆分功能。 sSplitOnHL = sLine.Split(new [] {(char)30}); //在[RS]控制代码上分割
不过,我仍然对替换感到困惑。我已经尝试过sLine = sLine.Replace((char)2,(char)0);认为(char)0将替换为空字符。似乎是用某些字符代替了控制字符,但我再也看不到任何文本文件了!  :)
我不确定在这个问题上哪里出了问题。
 

约翰·H

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
1,076
地点
挪威
编程经验
10+
最佳 底部