java - 如何删除字符串中的最后 2 个单词?

标签 java

我有一个包含地址的字符串,我想删除最后 2 个单词的邮政编码。

例如21 Lane Street London W10 2GH

我想删除“W10 2GH”

最佳答案

将模式 \s*\w+\s+\w+$ 替换为空字符串:

String s = "21 Lane Street London W10 2GH";
System.out.println(s.replaceFirst("\\s*\\w+\\s+\\w+$", ""));

产生:

21 Lane Street London

简短说明:

\s*  # zero or more white space chars
\w+  # one or more alpha-nums (or underscore), specifically: [a-zA-Z0-9_]
\s+  # one or more white space chars
\w+  # one or more alpha-nums (or underscore)
$    # the end of the input

关于java - 如何删除字符串中的最后 2 个单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5080155/

相关文章:

java - 如何编写单元测试来检查复制构造函数是否与类属性同步?

Java:替换窗口左上角的咖啡杯图标

java - LoggingMeterRegistry 计数器未显示预期计数

java - 计算器中的等于按钮什么都不做(Android 开发者工具)

java - CMake 访问 SWIG 并将 Java 库链接到现有 C++ 项目时出现问题

java - Android - 如何从 url 读取文本文件?

java - 如何更新 POJO 中的任意字段?

java - vector 缩放问题

java - 在获取 NPE 的 Activity 中调用 Fragment 方法

java - 如何同时遍历两个 ArrayList?