我正在使用方法quoteChar('"')
处理字符串。
在解析字符串时,通常的转义序列(例如“ \ n”和“ \ t”)会被识别并转换为单个字符。
有什么办法可以按原样获取字符串,这意味着如果我有字符串:
您好\ tworld
我想得到
您好\ tworld
并不是:
你好,世界
。
谢谢
最佳答案
查看StreamTokenizer
源,看起来字符串的转义行为是硬编码的。我只能想到几种解决方法:
取回字符串后,请重新转义该字符串。这里的问题是,这将与文件中的内容不完全匹配-\ t将被转换回,但是\ 040将不被转换。
在源Reader
和Reader
之间插入自己的StreamTokenizer
。将为最后一个令牌读取的所有字符存储在缓冲区中。从该缓冲区的开头修剪空白以获取“原始”令牌。
如果您的标记化规则很简单,请实施您自己的标记化器。