删除c#中的换行符

时间:2014-12-06 13:15:04

标签: c#

我有以下几行文字:

W&BL 15&384&320&214&1&S235JR&&&&&&&&&&S&&0.267&&&&4&&
N&214.nc
A&214&1&&15
W&BL 15&384&320&215&1&S235JR&&&&&&&&&&S&&0.267&&&&4&&
N&215.nc
A&213&2&&14

我想删除换行符,结果将是这样的:

A&213&2&&14W&BL 15&384&320&214&1&S235JR&&&&&&&&&&S&&0.267&&&&4&&N&214.nc
A&214&1&&15W&BL 15&384&320&215&1&S235JR&&&&&&&&&&S&&0.267&&&&4&&N&215.nc

我这样做是因为我需要格式化这些行,并且我将整个文本文件放在每行的阅读器中。当我使用换行符过滤时,我无法正确搜索这些行。由于我需要删除S235JR之后的所有内容,请将&替换为;,然后使用BL代码开始该行。

如果有人知道更聪明/更好的解决方案来过滤这些线条,那么你将成为我当时的英雄。

编辑以澄清:

这是一个示例以及如何格式化:

H&HEA100&1712&&1001&2&S235JR&&&HEA100 -  1712&&&&&&&S&&0.96&&&&2&&&1.7&0.2&0.2
N&1001.nc
W&BL 15&384&320&215&1&S235JR&&&&&&&&&&S&&0.267&&&&4&&
N&215.ncA&214&1&&15
H&L80X8&375&&1010&1&S275JR&&&L80X8 -  375&&&&&&&S&&0.117&&&&4&&&0.4&0.1&0.1
N&1010.nc

格式化后:

H;HEA100;1712;;1001;2;S235JR;
BL 15;384;320;215;1;S235JR;
L80X8;375;;1010;1;S275JR;

输入是使用StreamReader导入的文本文件。 HBL 15L80X8是在6 &个字符后确定的。该程序最初是在DOS下编写的,我需要将其转换为C#。对不起,我很抱歉。

4 个答案:

答案 0 :(得分:3)

x.Replace(Environment.NewLine, String.Empty);

其中x是字符串。

答案 1 :(得分:1)

从您问题中的示例来看,您似乎想要删除换行符,会保留每个第三行换行符。

您可以使用匹配三行的正则表达式,并删除它们之间的两个换行符:

text = Regex.Replace(text, @"(.+)\r\n(.+)\r\n(.+)", "$1$2$3");

答案 2 :(得分:0)

 x = x.Replace("\r\n", "");

x是你的字符串Object;

答案 3 :(得分:0)

string x = x.Replace("&", ";");
string x1 = x.Substring(x.IndexOf("H;"), x.IndexOf("S235JR;", x.IndexOf("H;")) - x.IndexOf("H;")+7);
string x2 = x.Substring(x.IndexOf("BL 15;"), x.IndexOf("S235JR;", x.IndexOf("BL 15;")) - x.IndexOf("BL 15;")+7);
string x3 = x.Substring(x.IndexOf("L80X8;"), x.IndexOf("S275JR;", x.IndexOf("L80X8;")) - x.IndexOf("L80X8;")+7);
string result = x1 + "\r\n" + x2 + "\r\n" + x3;