我有以下CSV文件:
34416; 15,14; 22,67; 71,51; 73,59; 73,1; 67,19; 64,07; 64,29; 67,94; ...
...
现在,我想保存第一个数字34416并用它替换每个分号,但不要替换第一个分号。
现在,有下一行。相同的程序,只是开头的另一个数字。
public List<string> ConvertFile()
{
string allLines = string.Empty;
allLines = GetLinesFromFile();
for (int i = 0; i < GetLinesFromFile().Length; i++)
{
string[] split = allLines.Split(new Char[] { ';' });
string number = split[i];
allLines.Replace(";", ";34416|");
}
List<string> re = new List<string>();
re.Add(allLines);
return re;
}
我对C#编码很陌生 - 你能帮我吗?
提前致谢。
答案 0 :(得分:0)
你需要重新思考你的逻辑。首先,GetLinesFromFile()
似乎返回一个字符串;我会返回List<string>
而不是(文件中的每一行都是一个字符串)。然后你可以这样做:
public List<string> ConvertFile()
{
var result = new List<string>();
foreach(var line in GetLinesFromFile())
{
var lineParts = line.Split(';');
var fixedLine = line.Replace(";", ";" + lineParts[0] + "|");
result.Add(fixedLine);
}
return result;
}
答案 1 :(得分:0)
试试这个
public List<string> ConvertFile( )
{
string allLines = GetLinesFromFile();
List<string> re = new List<string>();
for (int i = 0; i < allLines.Length; i++)
{
string[] split = allLines.Split(new Char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
allLines.Replace(";", ";" + split[0] + "|");
re.Add(allLines);
}
return re;
}