提取Java条评论正文(不带//、/*、*/)

Extract Java comment body (without //, /*, */)

我用的是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
*/

return 是完整的注释代码,而我正在寻找的是 return 只是 comment_body 的代码。

我可以进行简单的字符串操作,例如从字符串的开头删除 /*,从结尾删除 */,从行首删除 *。但是我想使用更优雅的方式(一些图书馆?),你知道吗?

解析器需要明确定义的规则才能处理输入文本。 JLS 没有为 /**/ 之间的文本定义任何结构,因此解析器不能做太多事情。

如果您想以编程方式对注释进行操作,您可能应该使用 javadoc 注释,JDT 解析器从中创建结构化 Javadoc 元素,该元素反映语义内容而不是原始文本。