Java:将 "string expression"转换为实际的字符串

标签 java string parsing

这听起来像是一个奇怪的请求,但我想知道 Java 中是否有一种直接的方法可以将“Java 字符串声明”转换为实际的字符串。

让我举个例子来说明一下。我想读这样的内容:

"This is an example " +
"of a complex\nString declaration " +
"in Java"

转换成一个 String 对象,其中包含:

"This is an example of a complex\nString declaration in Java"

(诸如 \n 之类的转义符应视为实际转义符,而不是原始文本)。

原因说明:既然我猜人们会问,那么让我解释一下这背后的理由。我正在使用一个 Java 解析库,它可以分析 Java 文件,并可以从中提取注释或常量等值。然而,解析器有一定的限制,并且不会像上面那样识别复杂的连接和转义,所以基本上我最终只是将整个第一个示例作为原始字符串,并且我必须自己解析、连接和转义它。我只是想知道是否有一些内置的方法(也许通过反射?)来做到这一点。

编辑:我知道我可以很容易地进行一些“粗略”解析(例如:在“+”符号上拆分,然后修剪、合并、删除引号等,但我不知道所有可能存在的变化(字符串支持多少个运算符?只是连接还是还有其他?有多少个转义宏?)

最佳答案

我认为您可以使用 QDox 解决您的问题

它将源文件解析为 JavaClass 的模型, JavaFieldJavaMethod等等,每个都有一个访问器来获取字符串形式的底层源代码。

关于Java:将 "string expression"转换为实际的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31262853/

相关文章:

ios - JSON解析向iOS返回null(json字符串看起来正确)

C、解析一些http头

iphone - 如何让 NSMutableArray 和 NSDictionary 在 UI 中显示结果

Java二分查找树方法需要返回值而不是打印

Java switch 语句要求输入两次

java - 无法在 Eclipse Neon 上安装 TestNG。提示输入用户名和密码

java - 无法使用准备好的语句插入数据库

python - 写入不带任何小数位的 float

r - 评估 R 中字符串指向的函数

java - SOAP 与 REST 中消费者/生产者之间的合约通信?