use*_*988 3 java string integer split substring
String weapon = "pistol . <1/10>";
Result:
int clip = 1;
int ammo = 1;
Run Code Online (Sandbox Code Playgroud)
string =(WEAPON)的格式.<(CLIP)/(AMMO)>
我需要Clip和Ammo值.
那么我如何才能提取String的这两个值.我可以用"/"拆分它仍然会面对:"枪<1"和"10>"
提前感谢
您可以删除非数字字符,如下所示:
String s = "pistol . <1/10>";
String[] numbers = s.replaceAll("^\\D+","").split("\\D+");
Run Code Online (Sandbox Code Playgroud)
现在numbers[0]是1和numbers[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
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1861 次 |
| 最近记录: |