public static void main(String[] args) {
String str = "AaaaABBBBcc&^%adfsfdCCOOkk99876 _haHA";
String[] upStr = str.replaceAll("[^A-Z]", "").split("(?!^)");
String[] lowStr = str.replaceAll("[^a-z]", "").split("(?!^)");
String[] nonEng = str.replaceAll("[A-Za-z]", "").split("(?!^)");
System.out.println("Printout uppercase");
printResult(upStr);
System.out.println("\nPrintout lowercase");
printResult(lowStr);
System.out.println("\nPrintout non-English");
printResult(nonEng);
}
public static void printResult(String[] array) {
for (String outChar : array){
System.out.print(outChar);
}
System.out.println("\n" + array.length);
}
答案是:
Printout uppercase
AABBBBCCOOHA
12
Printout lowercase
aaaccadfsfdkkha
15
Printout non-English
&^%99876 _
10
如果有人愿意翻墙谷歌,会在stackoverflow这个论坛看到完整版的trouble shooting。提问者和commit的响应者是我。
原文还链接了另一链接,一老兄做了更详细的解读。
感兴趣的博友自行阅读。