c# - 允许用户在 TextBox 中输入转义字符

标签 c# winforms textbox escaping

我有一个 Windows.Forms.TextBox,我想让用户输入转义序列,然后将其解释为它们所代表的字符。

例如,如果输入以下内容:

Hello\r\nWorld

我希望将其存储为字符数组:

   H     e     l     l     o    \r    \n     W     o     r     l     d
0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x0D, 0x0A, 0x57, 0x6F, 0x72, 0x6C, 0x64

到目前为止,我正在使用以下内容来处理“\r”和“\n”,但我也希望能够处理任何其他转义序列,例如 \u001A (ctrl+z),或 \u001B (esc)

string str = txtBox.Text.Replace("\\r","\r").Replace("\\n","\n");

...必须有更通用的方法来处理这个...

最佳答案

您可以尝试使用 System.Text.RegularExpressions.Regex.Unescape静态方法:

string str = Regex.Unescape(txtBox.Text);

但不幸的是它主要适用于 Regex 控制字符。

关于c# - 允许用户在 TextBox 中输入转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26150970/

相关文章:

c# - 什么开源 C# 库可以读/写微型 QR 码?

c# - 从导航堆栈中删除时从 UIViewController 中删除数据

c# - 在 c# winforms 中填充 TreeView 后对 TreeView 的子节点进行排序

c# - 如何在 WinForm 中使用自定义构造函数?

javascript - 如何在 Javascript 中动态添加文本框?

c# - 将查询从 SQL 转换为 EF Lambda 表达式

c# - 如何以编程方式使自动生成的文件成为 Visual Studio 中的嵌入式资源?

c# - 使用 CreateGraphics 而不是自定义绘图的 Paint 事件处理程序时出现绘图故障

c# - TextBox 的文本属性是否有可能为空?

WPF TextBox.Focus() 的烦恼