gpt4 book ai didi

java - 从字符串中提取两个数字

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:31:49 29 4
gpt4 key购买 nike

我有一个像下面这样的字符串:

"some value is 25 but must not be bigger then 12"

我想从字符串中提取这两个数字。

数字是整数。

第一个数字之前可能没有文本,第二个数字之后可能有一些文本。

我尝试用正则表达式和组来做,但失败得很惨:

public MessageParser(String message) {
Pattern stringWith2Numbers = Pattern.compile(".*(\\d?).*(\\d?).*");
Matcher matcher = stringWith2Numbers.matcher(message);
if (!matcher.matches()) {
couldParse = false;
firstNumber = 0;
secondNumber = 0;
} else {
final String firstNumberString = matcher.group(1);
firstNumber = Integer.valueOf(firstNumberString);
final String secondNumberString = matcher.group(2);
secondNumber = Integer.valueOf(secondNumberString);

couldParse = true;
}
}

感谢任何帮助。

最佳答案

您的模式应该更像:

Pattern stringWith2Numbers = Pattern.compile("\\D*(\\d+)\\D+(\\d+)\\D*");

您需要接受\\d+,因为它可以是一位或多位数字。

关于java - 从字符串中提取两个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1717601/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com