3

我在这里找到了几乎满足我需求的东西

Integer.parseInt(s.replaceAll("[\\D]", ""))

但我不知道应该如何修改它以获得负整数。示例字符串是:

"some\\-2c.st"

我需要提取“-2”

4

3 回答 3

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);
}
于 2013-05-08T11:47:56.907 回答
1
Integer.parseInt(s.replaceAll("[^\\d-]", ""))
于 2013-05-08T11:46:30.683 回答
1

您可以删除您不想要的所有内容,也可以提取您想要的内容。看来,后者在这里更合适,你可以用一个正则表达式(-?\d+)来做。

于 2013-05-08T11:48:15.547 回答