我正在尝试替换路径的“file.type”结尾,我已经编写了这个正则表达式但它似乎不起作用:
String path = otherPath.replaceAll("(.*)/[a-zA-Z]*/.[a-zA-Z]*", "")
错误在哪里?
示例:如果我有路径this / is / a / path / file.txt,那么我想使用上面的语句来生成路径:this / is / a / path /
答案 0 :(得分:0)
试试这个:
String path = path.replaceAll("(/.)*[a-zA-Z]*", "")
答案 1 :(得分:0)
以下正则表达式可能适合您:
"[^.\\/]+?\\.[^.]+$"
答案 2 :(得分:0)
我只想使用:"\\.+\\w+"
作为正则表达式:
String s = "file.type.type.type";
s = s.replaceAll("\\.+\\w+", "");
System.out.println(s); // print "file"
此处\\w+
是正则表达式的predefined character clas,代表A word character: [a-zA-Z_0-9]
这将输出"file"
一次删除所有".type"
。但是,如果您只想从文件名中删除最后".type"
,那么最简单的方法是使用s.substring(0, s.lastIndexOf("."))
,这将只删除文件名中的最后一个“.type”:
String s = "file.type.type.type";
s = s.substring(0, s.lastIndexOf(".")); // print "file.type.type"
答案 3 :(得分:0)
根据RegexBuddy解析扩展名的库是以下正则表达式:
\.[^.\\/:*?"<>|\r\n]+$
path = path.replaceAll("(?i)\\.[^.\\\\/:*?\"<>|\r\n]+$", "");