我有一个问题。
我有 10,000 .Xls
个文件。它们的名称为000001.xls
,000002.xls ...
我的代码看起来像这样:
File inputWorkbook = new File(inputFile);
Workbook w;
String fileName = inputWorkbook.getName().replace("0", "");
问题在于它取代0
中的0000160.xls
,结果是16.xls
,就像0000016.xls
一样。
我希望它是160.xls
有什么想法吗?
答案 0 :(得分:3)
String fileName = inputWorkbook.getName().replaceAll("^0+", "");
这将用String
替换""
开头的所有0
^
表示“以”开头“
+
表示前面一个或多个字符或组,在本例中为0
。
答案 1 :(得分:1)
你需要正则表达式:
inputWorkbook.getName().replaceAll("^0*", "");
^
表示“以...开头”
*
表示0或多
答案 2 :(得分:0)
试试这个
String string = "0000160.xls";
String[] parts = string.split("."); // split your string
int part1 = Integer.parseInt(parts[0]); // which make 160 because Integer
String part2 = parts[1];//xls
String result=Integer.toString(part1)+"."+part2; // combines both 160.xls
答案 3 :(得分:0)
试试这个:
String test = "00000160.xls";
int i = Integer.parseInt(test.substring(0,test.indexOf(".")));
String fileName = i+".xls";
答案 4 :(得分:-1)
试试这个:
String fileName = Integer.valueOf(inputWorkbook.getName().substring(0, 7)) + ".xls";
只有你的文件名模式类似于“[0-9] {8} .xls”时才有用。