2012-10-11 37 views

回答

6

如果您确信会有一定

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

HRM,它在抱怨从静态上下文被调用。 –

+0

你似乎正在从静态方法访问非静态成员变量 –

+3

@ Damien.Bell我的猜测:你试过'String.split'。 '字符串'只是Jigar例子中的一个变量。 –

2

2期.假设要提取所有的号码,你可以使用一个简单的正则表达式来删除所有的非数字字符:

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

注意:它不会与file12.12345.txt工作,例如

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); 
    ... 
} 
+0

只有'Pattern'只编译一次并重用时+1才为+1 – m0skit0

1

您可以使用此

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