gpt4 book ai didi

java - 从字符串中提取 2 个整数

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

String weapon = "pistol . <1/10>";
Result:
int clip = 1;
int ammo = 1;

字符串的格式 = (WEAPON) 。 <(剪辑)/(弹药)>
我需要 Clip 和 Ammo 值。

那么我如何提取字符串的这两个值。我可以用“/”分割它,因为它仍然会面对:“gun <1”和“10>”
提前致谢

最佳答案

您可以像这样删除非数字字符:

String s = "pistol . <1/10>";
String[] numbers = s.replaceAll("^\\D+","").split("\\D+");

现在 numbers[0]1numbers[1]10

  • s.replaceAll("^\\D+","") 删除字符串开头的非数字字符,所以新字符串现在是 "1/10> "
  • .split("\\D+") 拆分非数字字符(在本例中为 />)并忽略尾随空字符串(如果有的话)

或者,如果格式始终与您在问题中提到的完全相同,您可以查找该特定模式:

private final static Pattern CLIP_AMMO = Pattern.compile(".*<(\\d+)/(\\d+)>.*");

String s = "pistol . <1/10>";
Matcher m = CLIP_AMMO.matcher(s);
if (m.matches()) {
String clip = m.group(1); //1
String ammo = m.group(2); //10
}

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

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