我正在编写的应用程序中接受用户输入,并希望扩展用户输入的转义序列。
例如,如果用户输入\\n它将被解释为 str \\\\n。我想以一般方式解释该字符串(转换为换行符)和类似的字符串。
我当然可以使用String::replace()最重要的那些,而没有其他人,但我更喜欢一个通用的解决方案,它也可以处理十六进制转义(\x61is a)。
转义通常由词法分析器/解析器处理(基本上它们是语言语法的一部分),我不认为有一个 stdlib 函数可以管理它们,因为它会在低得多的级别上完成。
此外,转义往往是高度特定于语言的,以可能出乎意料的方式。Rust 有一个非常小的转义序列列表,与 C 中可用的垃圾相比,这可能是可取的,但我仍然不知道您是否想要允许任意十六进制或 unicode 转义序列。
因此,我建议设置您自己明确支持的转义列表,但如果您真的不想这样做,可能有第三方软件包可以帮助您。
| 归档时间: |
|
| 查看次数: |
81 次 |
| 最近记录: |