我想从文件中读取一行,并使用该行作为字符串的格式说明符。
文件中的行包含换行符转义序列\ n。所以看起来像这样:
Hello{0}\n\nWelcome to the programme
我想在这样的情况下使用它:
string name_var = "Steve";
string line = ReadLineFromFile();
string formatted_line = String.Format(line, name_var);
不幸的是,结果如下:
嗨Steve \ n \ n欢迎加入该计划
我希望它看起来像:
嗨,史蒂夫
欢迎使用该计划
有什么想法吗?
答案 0 :(得分:4)
在C#程序中使用\n
等转义序列时,编译器会处理该字符串,并将相应的不可打印字符的代码插入到字符串文字中。
当您从文件或其他导入源中读取一行时,处理转义序列将成为您的程序的责任。没有内置的方法。如果你想要的只是\n
,你可以使用简单的
formatString = formatString.Replace("\\n", "\n");
如果您想支持其他转义序列,例如UNICODE字符的转义序列,您可以use solutions from answers to this question。
答案 1 :(得分:2)
将字符串中的\n
替换为换行符说明符,如下所示:
string name_var = "Steve";
string line = ReadLineFromFile();
line = line.Replace("\\n", Environment.NewLine);
string formatted_line = String.Format(line, name_var);