Java commonmark-java 提取 LLM 返回的 Markdown 格式中的代码块
Java LLM Markdown About 1,183 words需求
LLM以Markdown的形式返回,需要提取fenced code block(Markdown书写的代码块)。
添加依赖
<dependency>
<groupId>org.commonmark</groupId>
<artifactId>commonmark</artifactId>
<version>0.27.0</version>
</dependency>
代码
fencedCodeBlock.getInfo():代码块的语言标识,如java/json/js等。
fencedCodeBlock.getLiteral():代码块的具体内容。
AbstractVisitor的visit方法会多次执行。如果需要收集所有符合条件的代码块,可以在外层定义集合类。
static void main() {
String md = """
xxx
```json
{
"a": 123,
"b": "haha"
}
```
<b>aa</b>
```json
{
"x": 456,
"y": "hehe"
}
```
```java
```
""";
Parser parser = Parser.builder().build();
Node node = parser.parse(md);
node.accept(new AbstractVisitor() {
@Override
public void visit(FencedCodeBlock fencedCodeBlock) {
super.visit(fencedCodeBlock);
System.out.println(fencedCodeBlock.getInfo());
System.out.println(fencedCodeBlock.getLiteral());
}
});
}
文档
Views: 5 · Posted: 2026-06-30
———         Thanks for Reading         ———
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
Loading...