子串在第一个周期之前和之后删除所有内容

时间:2012-10-11 20:22:10

标签: java substring

所以我有一个如下所示的文件名:

myFile.12345.txt

如果我想最终只使用“12345”,如果12345的长度在1到5之间,我将如何从文件名中删除它?

4 个答案:

答案 0 :(得分:6)

如果您确定肯定有2个句点.

String fileName = string.split("\\.")[1]

答案 1 :(得分:2)

假设您要提取所有数字,可以使用简单的正则表达式删除所有非数字字符:

String s = "myFile.12345.txt";
String numbers = s.replaceAll("[^\\d]","");
System.out.println(numbers); //12345

注意:它不适用于file12.12345.txt例如

答案 2 :(得分:2)

static final Pattern P = Pattern.compile("^(.*?)\\.(.*?)\\.(.*?)$");
...
...
...
Matcher m = P.matcher(input);
if (m.matches()) {
  //String first = m.group(1);
  String middle = m.group(2);
  //String last = m.group(3);
  ...
}

答案 3 :(得分:2)

你可以用这个

String s="ghgj.7657676.jklj";
String p = s.substring(s.indexOf(".")+1,s.lastIndexOf("."));