当前位置: 首页 > 面试题库 >

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

单于翰飞
2023-03-14
问题内容

可以说我有一串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尝试了其他任何字符串。


问题答案:

您可以从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);


 类似资料:
  • 问题内容: 我有这个字符串: 正在做: 似乎只删除了上面字符串中的第一个匹配项。 如何替换 所有 出现的内容? 问题答案: 注意:请勿在对性能有要求的代码中使用此代码。 作为简单文字字符串的正则表达式的替代方法,您可以使用 一般模式是 在某些情况下,它过去比使用和正则表达式要快,但是在现代浏览器中,情况似乎不再如此。 结论:如果您有性能至关重要的用例(例如,处理数百个字符串),请使用Regexp方

  • 问题内容: 我有这样的字符串 我想用转义双引号(\“)替换最后一个双引号(”) 字符串的结果是 我怎样才能做到这一点。我知道要替换字符串的第一次出现。但不知道如何替换字符串的最后一次出现 问题答案: String str = “"Position, fix, dial"“; int ind = str.lastIndexOf(“"“); if( ind>=0 ) str = new StringB

  • 问题内容: 有谁知道用一个字符串中的另一个字符串替换最后一个出现的字符串的快速方法? 问题答案: 您可以使用此功能:

  • 问题内容: 我是否缺少某些东西,或者StringBuilder是否缺少与普通String类相同的“用字符串B替换所有出现的字符串A”功能?StringBuilder的替换功能并不完全相同。有没有什么方法可以更有效地使用普通的String类生成多个String? 问题答案: 好了,你可以编写一个循环: 请注意,在某些情况下,从背面开始使用可能会更快。我怀疑是用短字符串替换长字符串的情况-因此,当你开

  • 问题内容: 我在寻找如何用’和’替换字符串中的最后一个’,’时遇到问题: 具有以下字符串:test1,test2,test3 我想以:test1,test2和test3结尾 我正在尝试这样的事情: 但它不起作用 问题答案: 使用( 行尾 )锚点来指定您的位置,并在逗号索引的右侧查找不包含任何其他逗号的模式。 编辑: 以上内容完全符合定义的要求(尽管替换字符串任意松散),但基于评论意见,以下内容更好

  • 假设我有一根绳子 我想把“AA”替换成“BB”,但只能是最后一次出现,就像这样: string.replace()和string.replaceFirst()都不能完成这项工作。有string.replaceLast()吗?如果没有,会有一个还是有替代方案也可以处理正则表达式?