[英]best way to replace text in string with java
我有个问题。
我大约有10,000个 .Xls
文件。 它们被命名为000001.xls
, 000002.xls ...
我的代码如下所示:
File inputWorkbook = new File(inputFile);
Workbook w;
String fileName = inputWorkbook.getName().replace("0", "");
问题是当它替换0000160.xls
的0
时,结果是16.xls
,就像0000016.xls
一样。
我希望它是160.xls
有任何想法吗?
String fileName = inputWorkbook.getName().replaceAll("^0+", "");
这会将String
开头的全0替换为""
。
^
表示“开头为”
+
表示前面的字符或组中的1个或多个,在这种情况下为0
。
您需要正则表达式:
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”时才有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.