我只是想为脚本语言创建一些解释器,我现在遇到的一件事是如何解释两个字符长的字符(与\
) 转换成实际的字符,
例如:您不能仅在单个字符中键入内容:'\n'
for newline
, and '\''
for '
等等..
我的解释器得到的信息是这样的字符串:"\\n"
因为"\"
在之前读取"n"
通过在循环中从用户在编辑器中键入的文本中按顺序字符接字符。
据我了解,字符串中有“\\n”,最简单的方法是在处理之前将“\\n”替换为“\n”。
string replaced = original.Replace("\\n", "\n");
如果你想替换任何转义字符,你可以使用正则表达式.Unescape http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.unescape.aspx.
请注意,unescape 会尝试取消转义所有内容,因此如果您只想取消转义“\\.”序列首先使用正则表达式来匹配它们(类似于“\\\\[a-zA-Z0-9]”),然后迭代结果并替换为未转义的版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)