Java 比较JTextPane中的短字符串和长字符串,并用其他颜色写入长字符串的字符

Java 比较JTextPane中的短字符串和长字符串,并用其他颜色写入长字符串的字符,java,swing,jtextpane,styleddocument,Java,Swing,Jtextpane,Styleddocument,我希望你能帮我解决我的问题 我有两条弦,它们几乎相等 字符串A类似于:“你好,我的朋友” 字符串B类似于:“你好!我的朋友” 现在我想比较两个字符串并将结果写入另一个字符串。 结果必须是字符串B,其中包含与字符串A不同的蓝色字符 例如,“!”就是一个例子。“!”可以是任何类型的文本,包括空格 我必须通过JTextPane/StyledDocument实现这一点 你能给我一些例子或想法来得到这个吗 谢谢。您是否尝试过一个接一个地编写字符,对每个字符应用新的样式?这可能是肮脏的,但它很容易,这有点解

我希望你能帮我解决我的问题

我有两条弦,它们几乎相等

字符串A类似于:“你好,我的朋友”

字符串B类似于:“你好!我的朋友”

现在我想比较两个字符串并将结果写入另一个字符串。 结果必须是字符串B,其中包含与字符串A不同的蓝色字符

例如,“!”就是一个例子。“!”可以是任何类型的文本,包括空格

我必须通过
JTextPane/StyledDocument
实现这一点

你能给我一些例子或想法来得到这个吗


谢谢。

您是否尝试过一个接一个地编写字符,对每个字符应用新的样式?这可能是肮脏的,但它很容易,这有点解决你的问题

如果这是一个算法问题-我不认为是,但仍然-你应该使用第三个字符串,在其中你添加
字符串a
的每个字符,当你遇到差异时,你添加
B
中的字符,并减少
a
上的迭代器


希望这有帮助。

那么,您的示例“你好!我的!朋友!”或“你好!我的!朋友”的结果是什么?Aka不同索引的“朋友”会被认为是你的“不同”吗?结果必须是“你好!我的!朋友”,但“!”是蓝色的。我想知道,你的谷歌坏了吗?我发现对不起@MadProgrammer,我找不到解决我问题的方法。这个例子很好,但我不能用它来解决我的问题。@morlog47好吧,你不会找到问题的“完美”解决方案,你必须解决其中的一小部分,这个例子演示了如何与
样式文档
交互,这至少是一个“起点”,我建议你去看看你能做什么这是作为一个答案发布的,但它并不试图回答这个问题。它可能是一个编辑、一条评论、另一个问题,或者完全删除。@BilalAhmed抱歉,我是stackoverflow的新手,我没有评论的权利。我很乐意~