我有一个字符串,如:
file = "UserTemplate324.txt"
我想提取" 324"。如果没有像Apache StringUtils这样的外部库,我怎么能这样做?
答案 0 :(得分:3)
假设你想要"点之前的数字":
String number = str.replaceAll(".*?(\\d+)\\..*", "$1");
这使用正则表达式来查找和捕获数字并用它们替换整个输入。
值得注意的是使用非贪婪量词来消耗最小前导输入(以便不消耗数字的前导部分)。
答案 1 :(得分:2)
如果要排除非数字字符:
String number = file.replaceAll("\\D+", "");
\\D+
表示一系列一个或多个非数字(0-9)字符,您可以用""
替换任何此类系列,即没有任何内容,只留下数字。