public String[] splitWords(final String s) { if (Kits.STR.isEmpty(s)) { return Kits.STR.emptyArray(); } final List<String> list = new ArrayList<>(); final int len = s.length(); int lastIndex = 0; for (int i = 1; i < len; ++i) { final char c = s.charAt(i); if (isWordEdge(c)) { list.add(s.substring(lastIndex, i)); if (hasSeperator()) { lastIndex = i + 1; } else { lastIndex = i; } } } list.add(s.substring(lastIndex)); return list.toArray(new String[list.size()]); }