我需要替换输入字符串表达式,如" \ t"字符' \ t'。这就是我使用Unescape例程的原因。
string source = "\t\t\\q\r\n";
try
{
string result = Regex.Unescape(source);
}
catch (ArgumentException ex)
{
// Which one is wrong???
}
我的情况我犯了一个错误并在字符串中放置了错误的转义符号我得到了ArgumentException。
我的问题是:我如何理解哪个符号不好?我需要索引吗?这样做的最佳方式是什么?
答案 0 :(得分:1)
检查ArgumentException
变量ex
。它会告诉你哪个转义序列在消息中引起异常,类似于:
System.ArgumentException:解析“\ t \ t \ t \ q \ r \ n” - 无法识别的转义序列\ q。
你可以绕过它的一种方法是在尝试取消它之前检查“source”字符串 - 有正确的转义序列数量有限,所以你可以删除无效的转义序列。来自docs:
它替换的字符表示是\ a,\ b,\ e,\ n,\ r,\ f,\ t和\ v。