繁体   English   中英

用java替换字符串中文本的最佳方法

[英]best way to replace text in string with java

我有个问题。

我大约有10,000个 .Xls文件。 它们被命名为000001.xls000002.xls ...

我的代码如下所示:

File inputWorkbook = new File(inputFile);
Workbook w;
String fileName = inputWorkbook.getName().replace("0", "");

问题是当它替换0000160.xls0时,结果是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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM