我编写了这段代码,将“ @”和“:”分开
var Split = Texts.Split(new char[] { '@' });
var Split1 = Texts.Split(new char[] { ':' });
我想将所有字符串数组输出到文件。我已经尝试过,但只得到一个字符串,而不是全部。
formatted = Split[0] + ":" + Split1[1];
File.WriteAllText(outputfile, formatted);
这是我的代码:
public void CreateUsernameList(string targetfile,string outputfile)
{
string[] texts = File.ReadAllLines(targetfile);
string formatted = null;
foreach(string Texts in texts)
{
var Split = Texts.Split(new char[] { '@' });
var Split1 = Texts.Split(new char[] { ':' });
formatted = Split[0] + ":" + Split1[1];
File.WriteAllText(outputfile, formatted);
}
}
答案 0 :(得分:1)
您正在该循环中不断覆盖文件。而是将结果收集到List<string>
中,然后将其写入文件。
public void CreateUsernameList(string targetfile,string outputfile)
{
string[] texts = File.ReadAllLines(targetfile);
string formatted = null;
List<string> output = new List<string>();
foreach(string Texts in texts)
{
var Split = Texts.Split(new char[] { '@' });
var Split1 = Texts.Split(new char[] { ':' });
formatted = Split[0] + ":" + Split1[1];
output.Add(formatted);
}
File.WriteAllLines(outputfile, output)
}
不使用太多内存的替代方法是
public void CreateUsernameList(string targetfile,string outputfile)
{
File.WriteAllLines(
outputfile,
File.ReadLines(targetfile)
.Select(line =>
{
var Split = line.Split(new char[] { '@' });
var Split1 = line.Split(new char[] { ':' });
return Split[0] + ":" + Split1[1];
}
)
);
}
答案 1 :(得分:0)
由于我看不到任何格式的数据,所以我只能猜测错误可能在这里:
formatted = Split [0] +“:” + Split1 [1];
您仅从每个字符串数组中获取单个元素。尝试遍历数组Split和Split1中的所有元素以打印其值
答案 2 :(得分:0)
最好以惰性方式读取文件:
datasets: [
{
label: "",
fill: false,
.....
.......
data: [65, 59, 80, 0, 56, 55, 40],
}
]