public static boolean hasLength(String str) {
return (str != null && str.length() > 0);
}
/**
*
* @param toSplit 需要分割的字符串
* @param delimiter 分隔关键字
* @return 分析为数组返回
*/
public static String[] splitByDelimiter(String toSplit, String delimiter) {
List <String> list = splitByDelimiterEx(toSplit,delimiter);
return list.toArray(new String[list.size()]);
}
////@SuppressWarnings("unchecked")
public static List <String> splitByDelimiterEx(String toSplit, String delimiter) {
if (!hasLength(toSplit) || !hasLength(delimiter)) {
return null;
}
int offset = toSplit.indexOf(delimiter);
if (offset < 0) {
return null;
}
ArrayList <String> list = new ArrayList<String>();
list.add(toSplit.substring(0,offset));
for (;;) {
int secoffset = toSplit.indexOf(delimiter,offset + delimiter.length());
if(secoffset == -1)
break;
list.add(toSplit.substring(offset+delimiter.length(),secoffset));
offset = secoffset;
}
list.add(toSplit.substring(offset+delimiter.length(),toSplit.length()));
return list;
}
//简单的测试 如果你要枚举所有最长的字符串(请自己扩展一下)
String str = "a,s,sd,sdsd,ddd,k";
String [] test = splitByDelimiter(str,",");
Arrays.sort(test);
System.out.println(test[test.length-1]);
温馨提示:答案为网友推荐,仅供参考