【发布时间】:2021-06-01 00:36:51
【问题描述】:
我想用美元符号替换以下字符串中的最后一个点,我该怎么做?
de.java_chess.javaChess.game.GameImpl.GameStatus
我想改用de.java_chess.javaChess.game.GameImpl$GameStatus。
我正在使用以下代码行:
invokedMeth = invokedMeth.replaceAll("(.*)\\.(\\d+)$","$1$$2");
但是,这不起作用,我最终得到了与输入相同的原始字符串。我该如何解决这个问题?
【问题讨论】:
-
正则表达式中的 \\d+ 匹配一个数字,但您的字符串中没有。替代中间的美元很可能已经逃脱了。最后一件事是 replaceAll 不仅替换了最后一个点,还替换了字符串中的每个点。