![](/img/trans.png)
[英]how to remove spaces and identify multiple spaces and place them in a table data from text file?
[英]Remove tabs and spaces from text file
我有一个文本文件,其中包含以下文本:
Contact Name | Contact Number
上面像Contact Name\t\t|\t\tContact Number
我正在使用以下代码删除\t\t|\t\t
:
using (StreamReader sr = File.OpenText(fileName))
{
string s = String.Empty;
while ((s = sr.ReadToEnd()) != null)
{
string[] line = s.Split(new string[] {"\t\t|\t\t"}, StringSplitOptions.RemoveEmptyEntries );
}
}
我正在使用断点检查下面“行”变量中的值:
"Contact Name"
"Contact Number\r\n\r\n"
上面的代码行删除了\t\t|\t\t
但添加了\r\n\r\n
。 如何一次删除\t\t|\t\t
和\r\n\r\n
。 请建议我。 等待回复。 谢谢
您可以使用:
s = s.TrimEnd(new char[] { '\r', '\n' });
这将从字符串末尾删除所有换行符。
由于您尝试从文件中删除所有字符(如 \t、\n 或 \r),我建议您将所有文件内容作为字符串读取并执行简单的.Replace(string oldChar, string newChar)
,即比使用.Split('').Join('')
方法稍快。
StringBuilder sb = new StringBuilder();
using (StreamReader sr = new StreamReader(fileName))
{
String line;
while ((line = sr.ReadLine()) != null)
{
sb.AppendLine(line);
}
}
string content = sb.ToString();
// Remove all tabs and new lines
string cleanedContent = content.Replace('\t', String.Empty)
.Replace('\r', String.Empty)
.Replace('\n', String.Empty)
.Replace('|', String.Empty);
您也可以在 "\r\n\r\n" 上拆分,它将被删除。
string[] line = s.Split(new string[] {"\t\t|\t\t", "\r\n\r\n"}, StringSplitOptions.RemoveEmptyEntries );
通过|
拆分您的文本 char 然后通过从每行的开头和结尾删除制表符、空格和换行符来修剪每一行(在这种情况下,您也可以使用不带参数的Trim()
,因为您要删除的所有字符都被视为空白字符):
string text = "Contact Name | Contact Number";
var lines = text.Split('|').Select(s => s.Trim('\t', '\n', '\r', ' '));
这将产生两行的序列:
"Contact Name"
"Contact Number"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.