将字符串中按单词翻转
思路: 先将res字符串翻转,然后再切割空格放入字符串数组中,最后遍历字符串数组,每次遍历就将字符串再反转过来放入sb中。
具体思路:
"here you are"
先进行反转成"era uoy ereh"
String[] words = s1.split("\\s");
分割空格,将字符串装进数组中- 遍历words[]字符串数组,每次遍历就反转字符串并装进sb中。
- 最后输出即可。
/*
* 将字符串按单词翻转,如here you are 翻转成are you here
* */
public class 将字符串中按单词翻转 {
public static void main(String[] args){
String res = reverse("here you are");
System.out.println(res);
}
//首先将整个字符串按照字符翻转,再找到每个单词,将单词翻转
static String reverse(String src) {
String s1 = reverseString(src);
//切割单词
String[] words = s1.split("\\s"); //“\\s” 表示按照空格,换行,回车等进行分隔;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < words.length; i++){
sb.append(reverseString(words[i]+" "));
}
return sb.toString();
}
public static String reverseString(String iniString){
StringBuilder sb = new StringBuilder(iniString);
return sb.reverse().toString();
}
}
知识点:
reverseString(src)
//反转 例如"here you are"
转成"era uoy ereh"
s1.split("\\s");
//分割split"\\s"
表示空格