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

时间:2013-12-09 13:04:58

标签: java string excel replace filenames

我有一个问题。

我有 10,000 .Xls个文件。它们的名称为000001.xls000002.xls ...

我的代码看起来像这样:

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

问题在于它取代0中的0000160.xls,结果是16.xls,就像0000016.xls一样。

我希望它是160.xls

有什么想法吗?

5 个答案:

答案 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”时才有用。