java - 如何在 java 中分离最后和剩余的所有单词?

标签 java string

如果用户输入多个空格,获取最后一个单词并保留所有单词的最简单方法是什么?

String listOfWords = "This is a sentence";
String[] b = listOfWords.split("\\s+");
String lastWord = b[b.length - 1];

我希望输出像 lastWord = sentencefirstWords = 这是一个

最佳答案

String listOfWords = "This is a sentence";

String lastWord = listOfWords.replaceFirst("^((.*\\s+)?)(^\\S+)\\s*$", "$3");
String firstWords = listOfWords.replaceFirst("^((.*\\s+)?)(^\\S+)\\s*$", "$2").trim();

将最后一个单词标识为 (\\S+)\\s*$ :非空格可能在末尾跟有空格($)。

  • 在没有词的情况下工作
  • 只有一个词时有效
  • 在末尾有空格时工作

关于java - 如何在 java 中分离最后和剩余的所有单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58482855/

相关文章:

java - 为什么 FileChannel.tryLock 不阻止跨多个进程的访问?

java - 在搜索功能中仅从名称中获取主题标签的相关值

Java : String. 匹配()

string - 从 f# 中的字符串中删除字符

java - Spring框架-同一类型的多个ModelAttributes

c# - 用于车牌识别系统的 Java 或 C#?

c# - ArcGIS Development.Java 与 .Net(C#)

java - 我们如何更改标签中的行?

python - os.path.exists 不接受变量输入

python - 在多个文件中搜索单词的最有效方法