在java中,我尝试用 .JPG 替换 .JPG.json 部分,保存字母大小写(有时可能是.jpg.json)
我的代码:
String Path="MyImage.JPG.json";
Result=Path.replaceFirst("/(.jpg)\\.json/i","$1");
但它返回: 的 MyImage.JPG.json
而不是: 的 MyImage.JPG
答案 0 :(得分:1)
您需要删除/
斜杠。在java中,您不需要包含/
作为正则表达式分隔符。而且你必须要逃避点。要进行不区分大小写的匹配,请在第一个添加(?i)
修饰符。
Path.replaceFirst("(?i)(\\.jpg)\\.json", "$1");
OR
你也可以使用lookbehind断言。
Path.replaceFirst("(?i)(?<=\\.jpg)\\.json", "");
(?<=\\.jpg)
断言要匹配的字符串必须以.jpg
开头。如果是,则仅匹配以下.json
字符串。用空字符串替换匹配的.json
字符串将为您提供所需的输出。
答案 1 :(得分:0)
尝试此命令。它应该适合你:
Path.replaceFirst("(?i)(\\.jpg)\\.json","$1")