用javareplacestring中的文本的最佳方法
我有个问题。
我有大约10,000个 .Xls
文件。 他们被命名为000001.xls
, 000002.xls ...
我的代码看起来像这样:
File inputWorkbook = new File(inputFile); Workbook w; String fileName = inputWorkbook.getName().replace("0", "");
问题是当它replace0000160.xls
的0
时,结果是16.xls
,就像0000016.xls
一样。
我希望它是160.xls
有任何想法吗?
String fileName = inputWorkbook.getName().replaceAll("^0+", "");
这将用""
replaceString
开始处的所有0。
^
意思是“开始于”
+
表示前面的字符或组中的一个或多个,在这种情况下为0
。
你需要正则expression式:
inputWorkbook.getName().replaceAll("^0*", "");
^
意思是“开始于”
*
表示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
尝试这个 :
String test = "00000160.xls"; int i = Integer.parseInt(test.substring(0,test.indexOf("."))); String fileName = i+".xls";
尝试这个:
String fileName = Integer.valueOf(inputWorkbook.getName().substring(0, 7)) + ".xls";
只有你的文件名模式像“[0-9] {8} .xls”才有效。