【发布时间】:2020-03-21 17:08:54
【问题描述】:
是:
String: "DARTH WEDR DR MRS"
Regex: "(.*?DR)\\s(-|MRS?|MI?SS?)?$"
应该:
String: "DARTH WEDR DR MRS".replaceAll("(.*?DR)\\s(-|MRS?|MI?SS?)?$", "");
Output: "DARTH WEDR DR"
缩写总是在最后,但是有些名字可以在名字中带有缩写,所以应该在末尾阅读<space> DR <space>以避免名称中的缩写问题。
示例:
BRUCE WAYNE MR
GAL GADOT DR MS
GOD ZILADR DR MRS
我没有想法。有什么想法吗?
【问题讨论】:
-
替换为
$1。可能,您还想用(?:\\s+(?:-|MRS?|MI?SS?))?$替换\\s(-|MRS?|MI?SS?)?$并在DR之前添加\\s。见this regex demo。 -
@WiktorStribiżew 谢谢,这如我所愿。是的,1 美元忘记了,我的错。
标签: java regex string intellij-idea replace