static int morphBoundary(String line) { int end = indexOfSpaceOrTab(line, 0); if (end == -1) { return line.length(); } while (end >= 0 && end < line.length()) { if (line.charAt(end) == '\t' || end+3 < line.length() && Character.isLetter(line.charAt(end+1)) && Character.isLetter(line.charAt(end+2)) && line.charAt(end+3) == ':') { break; } end = indexOfSpaceOrTab(line, end+1); } if (end == -1) { return line.length(); } return end; }
private String parseStemException(String morphData) { // first see if it's an alias if (morphAliasCount > 0) { try { int alias = Integer.parseInt(morphData.trim()); morphData = morphAliases[alias-1]; } catch (NumberFormatException e) { // fine } } // try to parse morph entry int index = morphData.indexOf(" st:"); if (index < 0) { index = morphData.indexOf("\tst:"); } if (index >= 0) { int endIndex = indexOfSpaceOrTab(morphData, index+1); if (endIndex < 0) { endIndex = morphData.length(); } return morphData.substring(index+4, endIndex); } return null; }
static int morphBoundary(String line) { int end = indexOfSpaceOrTab(line, 0); if (end == -1) { return line.length(); } while (end >= 0 && end < line.length()) { if (line.charAt(end) == '\t' || end+3 < line.length() && Character.isLetter(line.charAt(end+1)) && Character.isLetter(line.charAt(end+2)) && line.charAt(end+3) == ':') { break; } end = indexOfSpaceOrTab(line, end+1); } if (end == -1) { return line.length(); } return end; }
private String parseStemException(String morphData) { // first see if it's an alias if (morphAliasCount > 0) { try { int alias = Integer.parseInt(morphData.trim()); morphData = morphAliases[alias-1]; } catch (NumberFormatException e) { // fine } } // try to parse morph entry int index = morphData.indexOf(" st:"); if (index < 0) { index = morphData.indexOf("\tst:"); } if (index >= 0) { int endIndex = indexOfSpaceOrTab(morphData, index+1); if (endIndex < 0) { endIndex = morphData.length(); } return morphData.substring(index+4, endIndex); } return null; }