gpt4 book ai didi

java 将 Styleddocument 分成两部分

转载 作者:太空宇宙 更新时间:2023-11-04 07:25:28 25 4
gpt4 key购买 nike

我有一个 DefaultStyledDocument,里面有格式化文本。我还有一个函数,它使用模式匹配器分割内容(作为纯文本)。

我需要一个函数,它从分割的输出生成新的完整的 DefaultStyledDocuments

DefaultStyledDocument doc = new DefaultStyledDocument();
Functions.loadRtfToDocument(rtfText, doc); //rtfText is a RTF-String

Pattern pattern = Pattern.compile("^((\\s*)•)", Pattern.MULTILINE);
Matcher matcher = pattern.matcher(plainText);
while(matcher.find()){
int start = matcher.start();
int end = matcher.end();
DefaultStyledDocument target = new DefaultStyledDocument();
//Fill the target with the styled text (from start to end)
}

最佳答案

这不是一项微不足道的任务。想象一下,您的起始位置位于嵌套表的中间,结束位置位于基表之后放置的有序列表的中间。

对于最简单的 cas,当文档中只有段落和文本时,您可以遍历所有段落元素,询问它们的开始和结束偏移量,并与匹配器的偏移量进行比较。如果段落适合范围,则遍历段落元素的子元素(文本元素)。对于适合给定范围的每个文本元素,只需在目标文档中调用 insertString() 传递文本元素中的文本和属性。

关于java 将 Styleddocument 分成两部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18612309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com