在java中,我从外部资源获取一个String,它是一个 Package 在''中的字符。举个例子。
- A类
- B
- 联系我们
- '\t'
我希望能够从这个字符串中获得一个字符,在例子中。
- 一个
- B
- 联系我们
- \t
前两个例子很简单。我只能使用myString。charAt(1)。问题来自特殊字符。如果我使用myString,则使用'\n'。charAt(1)如果我使用myString,我会得到\ while。charAt(2)I get n.
我测试了许多解决方案,但都失败了,包括尝试使用replace删除一个\,或使用许多外部库。
2条答案
按热度按时间cwdobuhd1#
\n和\t是边缘情况,您必须单独处理。例如,您可以在检测到字符串时返回换行符的字符值\n
0x0A是单个字符中的换行符的编码(在字符串litterals中表示为\n),但是,如果您尝试打印此字符,您将得到一个换行符
dwbf0jvd2#
如果您从输入中阅读文本,其中新的行/制表符表示为文本而不是其ASCII表示,则需要在处理它们之前替换String中的这些字符。一个简单的方法是像这样替换String中的所有匹配字符(注意双反斜杠):
另一种方法是使用外部库,如Apache的
StringEscapeUtils
:如果您有一个来自流源的大文本输入,您可以在从流中阅读时动态检测这些字符。