我有以下几行文字:
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导入的文本文件。 H
,BL 15
和L80X8
是在6 &
个字符后确定的。该程序最初是在DOS下编写的,我需要将其转换为C#。对不起,我很抱歉。
答案 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;