1. 程式人生 > 實用技巧 >給定一些分割符,給定一個待分割的字串,打印出分割之後最長的字串

給定一些分割符,給定一個待分割的字串,打印出分割之後最長的字串


import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;

/**
* 給定一些分割符,給定一個待分割的字串,打印出分割之後最長的字串(多個則換行輸出)
*/
public class TokenLongest {

public static void main(String[] args) {
String delimiters = ",. \"";
String str = "The string tokenizer class allows an application to break a string into tokens.";
printTokenLongest(str, delimiters);
}

private static void printTokenLongest(String str, String delim) {
StringTokenizer stringTokenizer = new StringTokenizer(str, delim);
List<String> list = new ArrayList<>();
String temp;
int length, maxlength;
while (stringTokenizer.hasMoreTokens()) {
temp = stringTokenizer.nextToken();
if (list.isEmpty()) {
list.add(temp);
} else if ((length = temp.length()) < (maxlength = list.get(0).length())) {
continue;
} else if (length > maxlength) {
list.clear();
}
list.add(temp);
}
list.forEach(System.out::println);
}

}

/* 如有意見或建議,歡迎評論區留言;如發現程式碼有誤,歡迎批評指正 */