【问题标题】:how can i split the longest word in the sentence如何拆分句子中最长的单词
【发布时间】:2017-12-05 10:17:04
【问题描述】:
String s = "сотрудник компании ГазТехСтройСнабСервис";
String[] parts = s.split(" ");
System.out.println(Arrays.toString(parts));

我如何分割句子中最长的单词,例如如果它有超过 10 个字符并返回字符串?

【问题讨论】:

  • 那么在这种情况下最长的单词是ГазТехСтройСнабСервис,那么它会如何拆分呢?你只想返回ГазТехСтро
  • 问题不清楚。您的具体要求是什么?
  • 你怎么知道单词应该分割多少个字符?你有查找字典吗?
  • @Michael 如果单词超过 10 个字符,我想换行到下一行

标签: java string split


【解决方案1】:

使用 java8 -

int len = 10; //specify your length here

List<String> list = Stream.of(s.split(" ")).filter(str->len > str.length()).collect(Collectors.toList());

list 将包含长度大于指定长度的所有单词。

【讨论】:

    【解决方案2】:

    如果我做对了,你想在每个空格处进行拆分,或者如果一个单词在索引 n 处有超过 n 个字符。试试这样的:

        int size = 10;
        String s = "сотрудник компании ГазТехСтройСнабСервис";
        String[] parts = s.split("(?<=\\G.{"+size+"})|\\s+");
        System.out.println(Arrays.toString(parts));
    

    【讨论】:

    • 如何这样写 "сотрудник компании ГазТех- 到下一行СтройСнабСервис"
    猜你喜欢
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多