Как вывести сумму чисел в строке? Например: qwe120sd33d03 => 120+33+03 = sum 156. И тому подобное... Вот с однозначными числами проблемы нет, а с многозначными сложнее. Буду благодарен за помощь!
Решение без регулярных выражений, в лоб:
String str = "sdfa3214adsf41agsd";
int sizeOfStr = str.length();
int sum = 0;
int tempNum = 0;
for(int i = 0; i<sizeOfStr; ++i){
if(Character.isDigit(str.charAt(i))){
tempNum = (10 * tempNum) + Character.getNumericValue(str.charAt(i));
} else {
sum += tempNum;
tempNum = 0;
}
}
sum+=tempNum;
System.out.println(sum);
Можно регулярными выражениями:
import java.util.regex.*;
String s = "qwe120sd33d03";
Pattern p = Pattern.compile("(\\d+)");
Matcher m = p.matcher(s);
Integer sum = 0;
while (m.find()) {
sum += Integer.parseInt(m.group(1));
}
System.out.printf("%d\n", sum);
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости