我的问题是 我从文件中读取文本 在文本文件中有一些类似的文本
Base64.valueOf("\030)?8*\"q1;16=\0331:?5/8~:8(6y", 42 - -33))
我能够使用正则表达式获取文本
\030)?8*\"q1;16=\0331:?5/8~:8(6y
但是下面的语句中的字符串相等
regText = "\\030)?8*\\"q1;16=\\0331:?5/8~:8(6y"
但我想要的确切字符串是
expectedText = "\030)?8*\"q1;16=\0331:?5/8~:8(6y"
那么如何将 regText 转换为预期文本
在 here它几乎达到了我的预期
只不过不是将“\030”转为“\030”而是转为“030”
最佳答案
如果写入文件的程序一开始就正确写入数据,那么您的问题就会变得更容易。如果这不可能,请使用 apache commons lang 中的 StringEscapeUtils。
System.out.println(StringEscapeUtils.unescapeJava("New line: \\n Tab: \\t"));
该调用手动处理\n 并将其转换为换行符。它只处理文字。对于八进制和 other escapes ,你只能靠自己了。您始终可以 fork 代码并处理八进制。
关于java - 如何在java字符串中应用转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15848488/