C#CSV去除不需要的直径
你好,我遇到了这个问题,希望你能帮助我 我有一个CSV文件,里面有这样的行C#CSV去除不需要的直径,c#,csv,C#,Csv,你好,我遇到了这个问题,希望你能帮助我 我有一个CSV文件,里面有这样的行 而且我需要去掉行中不必要的| 要得到这样的东西: 您可以先splitstring,然后joinback foreach(string line in lines)//or while(!sr.EndOfStream) depends on how you iterate each line { string[] x = line.Split('|'); string show = string.Jo
而且我需要去掉行中不必要的
|
要得到这样的东西:
您可以先
split
string,然后join
back
foreach(string line in lines)//or while(!sr.EndOfStream) depends on how you iterate each line
{
string[] x = line.Split('|');
string show = string.Join("|", x.Where(s => !string.IsNullOrEmpty(s)));
}
您可以先
split
string,然后join
back
foreach(string line in lines)//or while(!sr.EndOfStream) depends on how you iterate each line
{
string[] x = line.Split('|');
string show = string.Join("|", x.Where(s => !string.IsNullOrEmpty(s)));
}
使用
string.Split
()并指定StringSplitOptions.removeMptyEntries
作为第二个参数。这将返回一个数组,其中包含拆分字符串的非空分隔值。所以你会看到类似的东西
string[] parsedLine = thisLine
.Split(new char[] {'|'}, StringSplitOptions.RemoveEmptyEntries);
如果您的代码行遵循您的示例,
parsedLine[0]
将包含用户名,parsedLine[1]
它们的密码,parsedLine[2]
它们的电子邮件地址。使用string.Split
()并指定StringSplitOptions.removeMptyEntries
,作为第二个参数。这将返回一个数组,其中包含拆分字符串的非空分隔值。所以你会看到类似的东西
string[] parsedLine = thisLine
.Split(new char[] {'|'}, StringSplitOptions.RemoveEmptyEntries);
如果您的代码行遵循您的示例,parsedLine[0]
将包含用户名,parsedLine[1]
它们的密码,parsedLine[2]
它们的电子邮件地址。另一种方法是使用正则表达式,只需使用简单的直接模式@“\\\\{2,}”
(两个或多个“\\”)替换为单个的“\/code>”
:
对于整个文件:
var data = File
.ReadLines(@"C:\MyFile.txt")
.Select(line => Regex.Replace(line, @"\|{2,}", "|"));
File.WriteAllLines(@"C:\MyClearedFile.txt", data);
另一种方法是使用正则表达式,只是用一个简单的直接模式@“\\{2,}”
(两个或多个“|”)替换为单个“|”
:
对于整个文件:
var data = File
.ReadLines(@"C:\MyFile.txt")
.Select(line => Regex.Replace(line, @"\|{2,}", "|"));
File.WriteAllLines(@"C:\MyClearedFile.txt", data);
这不是CSV–逗号分隔的值。但即便如此,最好的方法是避免在源代码中使用多个分隔符(否则重复的分隔符和空字段之间存在歧义)。这不是CSV–逗号分隔的值。但即便如此,最好的方法是避免在源代码中使用多个分隔符(否则重复的分隔符和空字段之间存在歧义)。