java - 如何将第一个单词移到最后?

标签 java string

Enter a line of text. No punctuation please.
Java is the language
I have rephrased that line to read:
Is the language Java

这是一个例子,我只知道char方法,但不知道如何将第一个单词移到末尾。我可以使用哪种字符串方法?

最佳答案

做什么:

  1. 使用以下命令分割句子 String.split();
  2. 根据项目创建列表
  3. 重新排序列表
  4. 使用空格连接列表项

用普通 Java 实现:

final String s = "Java Is The Language";
final List<String> list =
    new ArrayList<String>(Arrays.asList(s.split("\\s+")));
list.add(list.size() - 1, list.remove(0));
final StringBuilder sb = new StringBuilder();
for(final String word : list){
    if(sb.length() > 0){
        sb.append(' ');
    }
    sb.append(word);
}
System.out.println(sb.toString());

使用 Guava 实现:

final String s = "Java Is The Language";
final List<String> list =
    Lists.newArrayList(Splitter
        .on(CharMatcher.WHITESPACE)
        .omitEmptyStrings()
        .split(s));
list.add(list.size() - 1, list.remove(0));
System.out.println(Joiner.on(' ').join(list));

关于java - 如何将第一个单词移到最后?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4796186/

相关文章:

c - C中的字符串搜索和格式化

java - 验证字符串格式(模式)输入

java - JPA:在 fied 和 getter 上设置 @Id 之间的区别

java - Axis Web 服务客户端

javascript - 使用 jquery 或 javascript 将逗号分隔的键和值字符串转换为对象

c# - 为什么正则表达式计数在 C# 中用作长度?

javascript - 字符串变量不接受 "?"符号

java - 更改日期和时间格式 Android

java - 检查字符串是否不仅包含整数

java - @ElementCollection 不在我的表中存储值 (JPA)