获取java jTextArea中字符串文本的开始和结束位置
我正在使用apached lucene 3.6实现一个拼写检查器 希望将拼写错误的单词的突出显示与 使用单词的“开始”和“结束”位置突出显示类 想知道如何获得的开始和结束的立场 输入jtextarea时的文本 我知道将必须使用键盘和鼠标事件侦听器 但是我如何获得每个单词的“开始”和“结束”位置呢 在文本字符串中 谢谢。假设“单词”仅定义为由空格分隔的字符组,您可以找到所有空格的索引,如下所示:获取java jTextArea中字符串文本的开始和结束位置,java,swing,awt,jtextarea,spell-checking,Java,Swing,Awt,Jtextarea,Spell Checking,我正在使用apached lucene 3.6实现一个拼写检查器 希望将拼写错误的单词的突出显示与 使用单词的“开始”和“结束”位置突出显示类 想知道如何获得的开始和结束的立场 输入jtextarea时的文本 我知道将必须使用键盘和鼠标事件侦听器 但是我如何获得每个单词的“开始”和“结束”位置呢 在文本字符串中 谢谢。假设“单词”仅定义为由空格分隔的字符组,您可以找到所有空格的索引,如下所示: int index = 0; String string = ... // get from text
int index = 0;
String string = ... // get from text area
while((index = string.indexOf(' ', index)) != -1) {
// save them
}
您可以获取生成的空格索引列表并构建单词对象列表,从而消除长度为零的单词(相邻空格索引)等。您需要调用以获取文本区域中作为字符串的完整文本。然后,您可以从这个字符串中提取单词,检查它们,并在同一步骤中获取单词的索引和它们的结束索引,它们只是开始索引+字长。您是否可以获取jTextArea并在空格处拆分字符串。这将为您提供该区域中所有“单词”的数组
String text = jTextArea.getText();
String[] words = text.split(' ');
然后,为了得到单词的索引,你只需将单词的长度+1加起来
int[] startIndices = new int[words.length];
int[] endIndices = new int[words.length];
int currentIndex = 0;
for (int i = 0; i < words.length; i++) {
startIndices[i] = currentIndex;
currentIndex += words[i].length;
endIndices[i] = currentIndex;
currentIndex++;
}
int[]startIndices=newint[words.length];
int[]endindex=新的int[words.length];
int currentIndex=0;
for(int i=0;i
。例如,它需要很长的文字,还是只需要文字?如果单词拼写错误,它会返回给您什么样的数据?