我想删除文件名的最后三个字符。要重命名任何文件,我正在使用:
var svg =
document.getElementById('svg-container').innerHTML;
这个正则表达式删除了最后三个字符没关系,但是当传递任何包含“t OR x”的文件名时,正则表达式将其删除。例如:
String str = ""; // Here set File name, i.e. listFile.getName();
String[] tempFile = str.split("[$^txt]");
我的问题是:我如何才能删除最后三个字符。
谢谢
答案 0 :(得分:4)
如果要删除文件的扩展名,则正则表达式对于任务而言过于复杂。您可以使用String.lastIndexOf(int)来确定文件扩展名的位置:
public static String extractFileName(final String fileName)
{
final int dotIndex = fileName.lastIndexOf('.');
return dotIndex < 0 ? fileName : fileName.substring(0,dotIndex);
}
答案 1 :(得分:0)
请尝试使用此RegEx:
^\\(.+\\)*(.+)\.(.+)$
答案 2 :(得分:0)
你可以简单地使用子串。 String.substring
用于此目的。在您的情况下,您可以简单地使用str.substring(0, str.length - 3)
来获取字符串中的最后3个字符。除此之外,您还可以使用str.split
。