java - 如何替换字符串中特定数量的单词?

标签 java string

我的代码试图做的是在换行符上打印字符串的每个单词。但是,我必须将其限制为仅前五个单词。此外,我必须为这五个单词中的每一个添加“第一个单词:单词”等等。 我不太确定如何获得我想要的结果。

在我的代码中,我有:

  int space = sentence.indexOf(" ");
  sentence = sentence.substring(0,space) + "\n" + sentence.substring(space+1);           
  System.out.println(sentence.replaceAll("\\s+", "\n"));

任何帮助或指导将不胜感激,谢谢!

最佳答案

我会做这样的事情

char[] sentanceChars = sentance.toCharArray();
StringBuilder sb = new StringBuilder();
int wordIdx = 1;
for(int i=0; i<sentance.length(); i++) {
    if(sentanceChars[i] == ' ') {
        System.out.println("word "+ (wordIdx++) +"="+ sb.toString());
        if(wordIdx == 6) {
            break;
        }
        sb = new StringBuilder();
    } else {
        sb.append(sentanceChars[i]);
    }
}

关于java - 如何替换字符串中特定数量的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39541134/

相关文章:

java - Android 10 - 使用 PackageManager 安装新版本的 apk 而不是 Intents 并没有真正起作用

java - 使用 Like 和 % % 运算符的 hibernate 命名查询?

java - 从 objectify 中的投影查询中提取值

python - 关于python中split的解释

c - strcat 将垃圾添加到字符串中

c++ - std::find 在使用 strdup 时不起作用

Java OOP 问题与示例。寻求帮助

java - 使用键盘显示 TreeCell 的上下文菜单

coffeescript 中类似 python 的字符串插值

c - For 循环不以空终止符终止