java - 在 Java 中按字数拆分句子

标签 java arrays string

如何将一个句子分成两个词数相等的组?

 Sentence(odd words count) :
         This is a sample sentence
 Output: part[0] = "This is a "
         part[1] = "sample sentence"

Sentence(even words count) : 
        This is a sample sentence two
 Output: part[0] = "This is a "
         part[1] = "sample sentence two"

我试图将整个句子拆分成单词,获取第((空格总数/2)+ 1)个空格的索引并应用子字符串。但是它很乱,我无法得到想要的结果。

最佳答案

使用 Java8 的非常简单的解决方案

    String[] splitted = test.split(" ");
    int size = splitted.length;
    int middle = (size / 2) + (size % 2);
    String output1 =  Stream.of(splitted).limit(middle).collect(Collectors.joining(" "));
    String output2 =  Stream.of(splitted).skip(middle).collect(Collectors.joining(" "));
    System.out.println(output1);
    System.out.println(output2);

2 个测试字符串的输出是:

This is a
sample sentence
This is a
sample sentence two

关于java - 在 Java 中按字数拆分句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39561017/

相关文章:

java - Android Microsoft Office 库(.doc、.docx、.xls、.ppt 等)

arrays - 查找数组中重复子数组的数量

java - 分析代码语法的工具

python - 如何在不使用 reverse=True 参数的情况下以相反的顺序对字符串列表进行排序?

java - 为什么我的队列对输入字符串的排序与先进先出的基础不同?

java - Oracle 11.2 java 存储过程中的 SimpleDateFormat

java - 使用 JRAT Java 运行时分析工具包分析简单的 java 程序

arrays - 修改现有函数以处理不同维度/结构的数组

arrays - 对于具有数百万像素的 2D、未装箱像素阵列,建议使用什么 Haskell 表示法?

c#比较字符串的最快方法