所以我有一个文件名看起来像这样:子串来之前第一时间段和后删除一切第二
myFile.12345.txt
如果我想结束了只是“12345”会怎样如果12345的长度在1到5之间,我可以从文件名中删除它?
所以我有一个文件名看起来像这样:子串来之前第一时间段和后删除一切第二
myFile.12345.txt
如果我想结束了只是“12345”会怎样如果12345的长度在1到5之间,我可以从文件名中删除它?
如果您确信会有一定
String fileName = string.split("\\.")[1]
HRM,它在抱怨从静态上下文被调用。 –
你似乎正在从静态方法访问非静态成员变量 –
@ Damien.Bell我的猜测:你试过'String.split'。 '字符串'只是Jigar例子中的一个变量。 –
2期.
假设要提取所有的号码,你可以使用一个简单的正则表达式来删除所有的非数字字符:
String s = "myFile.12345.txt";
String numbers = s.replaceAll("[^\\d]","");
System.out.println(numbers); //12345
注意:它不会与file12.12345.txt
工作,例如
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);
...
}
只有'Pattern'只编译一次并重用时+1才为+1 – m0skit0
您可以使用此
String s="ghgj.7657676.jklj";
String p = s.substring(s.indexOf(".")+1,s.lastIndexOf("."));
你应该张贴您尝试 – Raedwald