C# 将用户输入的包含转义序列的文本转换为字符串

C# 将用户输入的包含转义序列的文本转换为字符串,c#,string,C#,String,在textbox1中,用户输入字符串“Test\u0021Test”,我想将转义字符“\u0021”转换为“!” 谢谢你的帮助 编辑 由@Simo Erkinheimo回答 在这种情况下使用字符串替换方法 string x = "Test\u0021Test"; // this is easy string y = textbox1.Text.Replace("\u0021", "!"); 在这种情况下使用stringReplace方法 string x = "Test\u0021Test";

在textbox1中,用户输入字符串“Test\u0021Test”,我想将转义字符“\u0021”转换为“!”

谢谢你的帮助

编辑 由@Simo Erkinheimo回答

在这种情况下使用字符串
替换方法

string x = "Test\u0021Test"; // this is easy
string y = textbox1.Text.Replace("\u0021", "!");

在这种情况下使用string
Replace
方法

string x = "Test\u0021Test"; // this is easy
string y = textbox1.Text.Replace("\u0021", "!");

你可以这样做。它适用于输入字符串中的所有unicode转义符号

var result = Regex.Replace(x, @"\\[u]([0-9a-f]{4})",
match => char.ToString(
    (char)ushort.Parse(match.Groups[1].Value, NumberStyles.AllowHexSpecifier)));

你可以这样做。它适用于输入字符串中的所有unicode转义符号

var result = Regex.Replace(x, @"\\[u]([0-9a-f]{4})",
match => char.ToString(
    (char)ushort.Parse(match.Groups[1].Value, NumberStyles.AllowHexSpecifier)));

将\u0021替换为\u0021只是一个例子。用户可以将任何unicode字符加上\uAre,而不是
\uxxx
转义符,如
\n
\xAB
允许?@Simo Erkinheimo,请将其添加为答案,这解决了我的问题,从我的角度来看,这是最可读的解决方案替换\u0021\u0021只是一个例子。用户可以将任何unicode字符加上\uAre,而不是
\uxxx
转义符,如
\n
\xAB
允许?@Simo Erkinheimo,请添加它作为答案,这解决了我的问题,从我的角度来看,这是最可读的解决方案\u0021只是一个例子,我不知道他会把什么脱逃角色放在里面,脱逃角色之后的标准或模式是什么?当模式结束时?\u0021只是一个例子,我不知道他会在转义字符中加入什么转义字符,转义字符后的标准或模式是什么?模式何时结束?