C#-如何将转义字符串转换为文本字符串
本文关键字:字符串 转换 文本 转义字符 转义 C#- | 更新日期: 2023-09-27 17:54:37
可能重复:
我可以在运行时扩展一个包含C#文字表达式的字符串吗?
如何在运行时转换从文件读取的转义字符串,例如
"Line1'nLine2"
转换为其文字值:
Line1
Line2
令人惊讶的是,我在这里找到了一个使用CSharpCodeProvider((进行相反操作的例子,这似乎是更困难的转换。为了做相反的事情,我似乎需要生成代码来定义一个类,并在内存中编译它或执行一系列。Replace((调用,希望我不会错过任何转义序列。
CSharpCodeProvider听起来肯定能做到这一点。然而,在使用它之前,我会问两个问题:它是否需要是完全C#字符串的字面语法,以及输入文件是否可信?
CSharpCodeProvider显然提供了C#编译器的语法,但在我看来,通过这种途径将一些代码注入到您的进程中相对容易。
Javascript字符串文本语法与C#字符串文本语法非常接近。NET包含一个JavaScriptSerializer类,该类可以解析此类字符串文本,而无需将其作为代码注入正在运行的进程中。
用'n
替换转义值
static void Main(string[] args)
{
var test = "Line1''nLine2";
// Line1'nLine2
Console.WriteLine(test);
// Line1
// Line2
Console.WriteLine(test.Replace("''n", Environment.NewLine));
Console.ReadKey();
}