我使用eclipse java jdt解析器,它似乎缺少以下功能:提取注释主体。
以下代码:
class CommentBodyExtractor extends ASTVisitor {
@Override public boolean visit(BlockComment node) {
final int start = node.getStartPosition();
final int end = start + node.getLength();
final String comment = source.substring(start, end);
System.out.println(comment);
return false;
}
}
在以下代码上运行时:
/*
* comment_body
*/
返回完整的注释代码,而我正在寻找的是仅返回comment_body
的代码。
我可以执行简单的字符串操作,例如从字符串的开头删除/*
,从结尾删除*/
,从行开头删除*
。但是我想用更优雅的方式(一些库?),你知道吗?
答案 0 :(得分:1)
解析器需要明确定义的规则才能处理输入文本。 JLS没有为.pac-container {
z-index: 1051 !important;
}
和/*
之间的文本定义任何结构,因此解析器不能做太多。
如果你想以编程方式操作注释,你应该使用javadoc注释,JDT解析器从中创建一个结构化的*/
元素,它反映了语义内容而不是原始文本。