我的问题是
我从文件中读取了文本
在文本文件中有一些类似的文本

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转换为ExpectedText

here中,它几乎达到了我的预期

除非不是将“ \ 030”转到“ \ 030”,而是转到“ 030”

最佳答案

如果程序开始写入文件,那么从一开始就正确写入数据就会使您的问题变得更加容易。如果不可能,请使用apache commons lang中的StringEscapeUtils。

System.out.println(StringEscapeUtils.unescapeJava("New line: \\n Tab: \\t"));


该调用将手动处理\ n并将其转换为换行符。它仅处理文字。您自己需要八进制和other escapes。您总是可以分叉代码,也可以使用八进制。

09-30 10:50