我想从字符串中提取整数并添加它们。从字符串中提取整数并将它们添加到Java中
例:
String s="ab34yuj789km2";
我应该得到整数的输出从它作为825(即,34 + 789 + 2 = 825)
我想从字符串中提取整数并添加它们。从字符串中提取整数并将它们添加到Java中
例:
String s="ab34yuj789km2";
我应该得到整数的输出从它作为825(即,34 + 789 + 2 = 825)
这里有一种方法,通过使用String.split:
public static void main(String[] args) {
String s="ab34yuj789km2";
int total = 0;
for(String numString : s.split("[^0-9]+")) {
if(!numString.isEmpty()) {
total += Integer.parseInt(numString);
}
}
// Print the result
System.out.println("Total = " + total);
}
注意模式"[^0-9]+"
是一个正则表达式。它匹配一个或多个不是十进制数的字符。十进制数也有一个模式\d
。
它工作。 @Patrick –
很高兴听到@pb_!请不要忘记标记已接受的答案。 –
您可以使用正则表达式从字符串中提取数字。
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher("ab34yuj789km2");
Integer sum = 0;
while(matcher.find()) {
sum += Integer.parseInt(matcher.group());
}
这也是@Anh Pham的工作 –
与Java 8:
String str = "ab34yuj789km2";
int sum = Arrays.stream(str.split("\\D+"))
.filter(s -> !s.isEmpty())
.mapToInt(s -> Integer.parseInt(s))
.sum();
'javasript' ====='java' –
http://stackoverflow.com/questions/12216065/how-to-extract-numeric-值从输入字符串在java中 – Guy
@Guy我会推荐这个答案:http://stackoverflow.com/a/12216123/982149在您接受的问题接受的答案。 – Fildor