我找到了几乎符合我需要的东西here
Integer.parseInt(s.replaceAll("[\\D]", ""))
但是我不知道如何修改它以获得负整数。示例字符串是:
"some\\-2c.st"
我需要提取“-2”
答案 0 :(得分:4)
我会反过来做,寻找整数而不是剥离其余部分:
String str = "some\\-2c.st";
Pattern pattern = Pattern.compile("-?[0-9]+");
Matcher matcher = pattern.matcher(str);
if (matcher.find()) {
int value = Integer.parseInt(matcher.group());
System.out.println(value);
}
答案 1 :(得分:1)
Integer.parseInt(s.replaceAll("[^\\d-]", ""))
答案 2 :(得分:1)
您可以移除您不想要的所有内容,也可以提取您想要的内容。
看来,后者更合适,你可以使用像(-?\d+)
这样的正则表达式。