小编典典

替换所有出现但最后出现的字符

java

可以说我有一串a.b.c.d。如何编写将字符串转换为的方法abc.d?还是那里有可用的方法实现?

到目前为止我尝试过的

        int dotPlacing = propertyName.lastIndexOf(".");//12
        String modString = propertyName.replace(".", "");
        modString = modString.substring(0, dotPlacing-1) + "."+modString.substring(dotPlacing-1);

我正在用它来编写休眠标准。它适用于user.country.name但不适用user.country.name.ss。Havent尝试了其他任何字符串。


阅读 277

收藏
2020-11-26

共1个答案

小编典典

您可以从0到提取子字符串形式lastIndexOf('.')。在此子字符串中,将所有替换.为空字符串。之后,与subtring合并(从头到尾lastIndexOf .)。

就像是:

String theString = "a.b.c.d";

String separator = ".";
String replacement = "";
String newString = theString.substring(0, theString.lastIndexOf(separator)).replaceAll(separator , replacement).concat(theString.substring(theString.lastIndexOf(separator)));

Assert.assertEquals("abc.d", newString);
2020-11-26