- if (Character.isLetterOrDigit(result[j].charAt(0))) {\r
- int len = result[j].length();\r
- StringBuffer buffer = new StringBuffer(result[j].toLowerCase());\r
- logger.log(logger.EXTREME, "Processing " +buffer);\r
- for (int k=len-1; k>=0 && keepRunning; k--) {\r
- if (!Character.isLetterOrDigit(result[j].charAt(k)))\r
- buffer.deleteCharAt(k);\r
- else\r
- k=-1;\r
- }\r
-\r
- if (buffer.length()>=Global.minimumWordCount) {\r
- logger.log(logger.EXTREME, "Adding " +buffer);\r
- conn.getWordsTable().addWordToNoteIndex(guid, buffer.toString(), "CONTENT", 100);\r
- }\r
+ // We have a good word, now let's trim off junk at the beginning or end\r
+ StringBuffer buffer = new StringBuffer(result[j].toLowerCase());\r
+ for (int x = buffer.length()-1; x>=0; x--) {\r
+ if (!Character.isLetterOrDigit(buffer.charAt(x)))\r
+ buffer = buffer.deleteCharAt(x);\r
+ else\r
+ x=-1;\r
+ }\r
+ // Things have been trimmed off the end, so reverse the string & repeat.\r
+ buffer = buffer.reverse();\r
+ for (int x = buffer.length()-1; x>=0; x--) {\r
+ if (!Character.isLetterOrDigit(buffer.charAt(x)))\r
+ buffer = buffer.deleteCharAt(x);\r
+ else\r
+ x=-1;\r
+ }\r
+ // Restore the string back to the proper order.\r
+ buffer = buffer.reverse();\r
+ \r
+ logger.log(logger.EXTREME, "Processing " +buffer);\r
+ if (buffer.length()>=Global.minimumWordCount) {\r
+ logger.log(logger.EXTREME, "Adding " +buffer);\r
+ conn.getWordsTable().addWordToNoteIndex(guid, buffer.toString(), "CONTENT", 100);\r