我正在使用方法quoteChar('"')处理字符串。
在解析字符串时,通常的转义序列(例如“ \ n”和“ \ t”)会被识别并转换为单个字符。
有什么办法可以按原样获取字符串,这意味着如果我有字符串:


  您好\ tworld


我想得到


  您好\ tworld


并不是:


  你好,世界



谢谢

最佳答案

查看StreamTokenizer源,看起来字符串的转义行为是硬编码的。我只能想到几种解决方法:


取回字符串后,请重新转义该字符串。这里的问题是,这将与文件中的内容不完全匹配-\ t将被转换回,但是\ 040将不被转换。
在源ReaderReader之间插入自己的StreamTokenizer。将为最后一个令牌读取的所有字符存储在缓冲区中。从该缓冲区的开头修剪空白以获取“原始”令牌。
如果您的标记化规则很简单,请实施您自己的标记化器。

09-26 09:32