\\s+可以替换掉关键字之间的所有空白字符(剑指 Offer 58 - I. 翻转单词顺序)
和trim()是不同的,trim()方法实际上的行为并不是”去掉两端的空白字符“,而是”截取中间的非空白字符
@Test
public void test58(){
System.out.println(reverseWords(" hello world!"));
}
public static String reverseWords(String s) {
String s2 = s.trim();
String[] s1 = s2.split("\\s+");// \\s+可以替换掉关键字之间的所有空白字符
StringBuffer buffer = new StringBuffer();
for (int i = s1.length-1;i>=0;i--){
buffer.append(s1[i]);
if (i!=0){
buffer.append(" ");
}
}
if (s.charAt(0) == ' '){
buffer.append(" ");
}
if (s.charAt(s.length()-1) == ' '){
buffer.insert(0, " ");
}
return buffer.toString();
}
public void test34() {
String s = " jsghdjksd ahfk auh ";
System.out.println(s.trim());//jsghdjksd ahfk auh
String s1 = s.trim();
String[] split = s1.split("\\s+");
System.out.println(Arrays.toString(split));//[jsghdjksd, ahfk, auh]
}