我想要做的是得到一个大的字符串段。我已经尝试过使用indexOf(),但是在重复文本时完全失败。我的最终目标是让用户能够选择JTextPane中的文本,并只将该部分文本风格化。我已经获得了与StyledDocuments一起使用的样式,并且我甚至已经将它设计为仅对用户选择的文本进行样式设置,但这是我的问题。如何从大块字符串中获取一行字符串?
假设
字符串alltext =“敏捷的棕色狐狸懒狗跳楼”;
的操作和用户的亮点是String selectedtext
在这种情况下,让我们只说
字符串selectedtext = “棕色”;
我的目标是获得选定文本的偏移量和长度。对于这个特定的句子,我可以简单地做:
int offset = alltext.indexOf(selectedtext);
int length = selectedtext.length();
而且这将工作正常。但如果:
alltext = brownbrownbrownbrownbrown;
而且用户高亮显示第三褐色。如果我和以前一样做同样的事情,那么程序将会选择第一个棕色,而不是真正的棕色,它会对第一个棕色进行设计。
有没有解决这个任何方式或替代从大的块获取字符串的段的位置?
谢谢!
大约有我认为在相关的两个答案(下就业2.0图标) – mKorbel 2013-04-07 20:47:54
你为什么跟踪选择作为一个字符串的一些问题,并不能直接作为索引/作为通常进行抵消? JTextPane应该自动执行该操作。或者,换句话说:如果由于某种原因,你只能确定用户正在寻找什么字符串,就没有办法知道它是哪一个字符串。 – millimoose 2013-04-07 20:50:30
如何从JTextPane获取索引值?有没有一种方法可以帮你吗? – applemavs 2013-04-07 20:55:55