我正在尝试使用输出(“line”)作为新文件名(文件已经存在,只是重命名)。 例如“A,tampqer,N:.JPG” 但它看起来像: 例如line =“A \ tampqer \ tn:\ t \ t”
我收到错误:文件名的非法字符。
int counter = 0;
string line;
// Read the file and display it line by line.
StreamReader file = new StreamReader(@"C:\\german-czech.txt");
while ((line = file.ReadLine()) != null)
{
//replace /t doesnt work
for (int i = 0; i < line.Length; i++)
{
if (line[i] == '\t')
{
line.Replace(line[i], ',');
}
}
//Console.WriteLine(string.Format(line, @"\\t").ToString());
Console.WriteLine( line);
counter++;
if (counter == 100)
break;
}
file.Close();
猜猜“线”的内容是否仍然相同......任何人都可以帮助我解决这个小问题吗? 我还尝试了什么? line.Replace(System.Environment.NewLine,“,”); 的String.Empty ... “\ n” 最好的问候
答案 0 :(得分:0)
你需要
line = line.Replace(line[i], ',');
它不会改变它。它返回 new 字符串。
您也不需要逐个横切字符串。 Replace
将替换字符串中的每个匹配项。所以而不是你的:
//replace /t doesnt work
for (int i = 0; i < line.Length; i++)
{
if (line[i] == '\t')
{
line.Replace(line[i], ',');
}
}
刚才:
line = line.Replace("\t", ',');
(这是纠正你的代码。但我认为mrzli在他的评论中得到了真正的错误。)