private char[][] parseSpec(String spec) { String[] ranges = spec.split("[,;]"); char[][] cs = new char[ranges.length][]; for (int i = 0; i < ranges.length; i++) { char[] range = rangeFor(ranges[i]); cs[i] = range; } return cs; }
private char[][] parseSpec(String spec) { String[] ranges = spec.split("[,;]"); char[][] cs = new char[ranges.length][]; for (int i = 0; i < ranges.length; i++) { char[] range = rangeFor(ranges[i]); cs[i] = range; } return cs; }
private char[][] parseSpec(String spec) { String[] ranges = spec.split("[,;]"); char[][] cs = new char[ranges.length][]; for (int i = 0; i < ranges.length; i++) { char[] range = rangeFor(ranges[i]); cs[i] = range; } return cs; }
private char[] rangeFor(String range) { List<Character> chars = new ArrayList<>(); int pos = 0; while (pos < range.length()) { if (range.length() > pos + 2 && range.substring(pos + 1, pos + 2).equals("-")) { List<Character> rangeChars = rangeFor(range.substring(pos, pos + 1), range.substring(pos + 2, pos + 3)); chars.addAll(rangeChars); pos += 3; } else { chars.add(range.substring(pos, pos + 1).charAt(0)); pos += 1; } } char[] charAry = new char[chars.size()]; for (int i = 0; i < chars.size(); i++) { charAry[i] = chars.get(i); } return charAry; }
private char[] rangeFor(String range) { List<Character> chars = new ArrayList<>(); int pos = 0; while (pos < range.length()) { if (range.length() > pos + 2 && range.substring(pos + 1, pos + 2).equals("-")) { List<Character> rangeChars = rangeFor(range.substring(pos, pos + 1), range.substring(pos + 2, pos + 3)); chars.addAll(rangeChars); pos += 3; } else { chars.add(range.substring(pos, pos + 1).charAt(0)); pos += 1; } } char[] charAry = new char[chars.size()]; for (int i = 0; i < chars.size(); i++) { charAry[i] = chars.get(i); } return charAry; }
private char[] rangeFor(String range) { List<Character> chars = new ArrayList<>(); int pos = 0; while (pos < range.length()) { if (range.length() > pos + 2 && range.substring(pos + 1, pos + 2).equals("-")) { List<Character> rangeChars = rangeFor(range.substring(pos, pos + 1), range.substring(pos + 2, pos + 3)); chars.addAll(rangeChars); pos += 3; } else { chars.add(range.substring(pos, pos + 1).charAt(0)); pos += 1; } } char[] charAry = new char[chars.size()]; for (int i = 0; i < chars.size(); i++) { charAry[i] = chars.get(i); } return charAry; }