编辑:这是我最初的回答,但事后看来@iccthedral 的回答可能是最好的。
一种方法是将文本拆分为单词,然后将第一个单词连接到其后所有内容的末尾。
String input = "I love cats and hate dogs";
String[] words = input.split("\\s+");
String firstWord = words[0];
StringBuilder everythingAfterFirstWord = new StringBuilder();
for(int i = 1 ; i < words.length ; i++){
String word = words[i];
everythingAfterFirstWord.append(word);
everythingAfterFirstWord.append(" ");
}
String switched = everythingAfterFirstWord + firstWord;
另一种方法是使用正则表达式。匹配第一个单词,然后其他所有内容都使用 String.replaceAll 来切换两组。
String switched = input.replaceAll("^(\\w+)\\s(.*)$", "$2 $1")