3 回答

TA貢獻(xiàn)1796條經(jīng)驗 獲得超4個贊
我們可以使用類似這樣的方法從字符串中提取數(shù)字
String fileName="ABC.12.txt.gz"; String numberOnly= fileName.replaceAll("[^0-9]", "");

TA貢獻(xiàn)1780條經(jīng)驗 獲得超5個贊
您可以嘗試使用模式匹配
import java.util.regex.Pattern;
import java.util.regex.Matcher;
// ... Other features
String fileName = "..."; // Filename with number extension
Pattern pattern = Pattern.compile("^.*(\\d+).*$"); // Pattern to extract number
// Then try matching
Matcher matcher = pattern.matcher(fileName);
String numberExt = "";
if(matcher.matches()) {
numberExt = matcher.group(1);
} else {
// The filename has no numeric value in it.
}
// Use your numberExt here.

TA貢獻(xiàn)1862條經(jīng)驗 獲得超6個贊
您可以使用正則表達(dá)式將每個數(shù)字部分與字母數(shù)字部分分開:
public static void main(String args[]) {
String str = "ABC.12.txt.gz";
String[] parts = str.split("(?<=\\D)(?=\\d)|(?<=\\d)(?=\\D)");
// view the resulting parts
for (String s : parts) {
System.out.println(s);
}
// do what you want with those values...
}
這將輸出
ABC.
12
.txt.gz
然后拿走你需要的零件,用它們做你必須做的事。
添加回答
舉報