Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как взять из строки числа и преобразовать каждое отдельно в int ,что бы потом использовать?

Артем Колегов Ученик (171), на голосовании 1 год назад
Допустим, у нас есть строка : "Вася зарабатывает 5000, Света 8000 , а Сережа - 10000"
Как извлечь числа,что бы они были отдельно друг от друга и в будущем можно было их использовать. Найти общий заработок,например.
Голосование за лучший ответ
Анонимус Просветленный (31565) 1 год назад
 import java.util.regex.Matcher; 
import java.util.regex.Pattern;

public class Main {
public static void main(String[] args) {
String строка = "Вася зарабатывает 5000, Света 8000, а Сережа - 10000";

Pattern pattern = Pattern.compile("\\d+"); // Используем регулярное выражение для поиска всех чисел в строке
Matcher matcher = pattern.matcher(строка);

int общийЗаработок = 0;
while (matcher.find()) {
int число = Integer.parseInt(matcher.group()); // Преобразуем найденное число в целочисленный формат
общийЗаработок += число; // Добавляем число к общему заработку
}

System.out.println("Общий заработок: " + общийЗаработок);
}
}
Некит VIP Мастер (1669) 1 год назад
Для извлечения чисел из строки и их преобразования в int можно использовать регулярные выражения и функции модуля re. Вот пример решения:
import re

строка = "Вася зарабатывает 5000, Света 8000 , а Сережа - 10000"

# Найти все числа в строке
числа = re.findall(r'\d+', строка)

# Преобразовать каждое число в int и сохранить в отдельный список
числа_как_int = [int(число) for число in числа]

# Вывести список чисел и их сумму
print("Извлеченные числа:", числа_как_int)
print("Общий заработок:", sum(числа_как_int))

В результате выполнения кода получим:

Извлеченные числа: [5000, 8000, 10000]
Общий заработок: 23000

Мы используем функцию re.findall() для нахождения всех чисел в строке, которые заданы спецификацией \d+ (одно или более чисел подряд). Затем мы преобразуем каждое найденное число в int и сохраняем его в отдельный список чисел. В конце выводим список чисел и их сумму.
Максим Искусственный Интеллект (218379) 1 год назад
Всё зависит от конкретной задачи. Если ты просто хочешь найти в строке все числа, тогда можно использовать регулярные выражения.
Александр Искусственный Интеллект (308401) 1 год назад
зачем тебе это? учить ты ничего не учишь...
Похожие вопросы