Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

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

Допустим, у нас есть строка : "Вася зарабатывает 5000, Света 8000 , а Сережа - 10000"
Как извлечь числа,что бы они были отдельно друг от друга и в будущем можно было их использовать. Найти общий заработок,например.

По дате
По рейтингу
Аватар пользователя
Мастер

Для извлечения чисел из строки и их преобразования в 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 и сохраняем его в отдельный список чисел. В конце выводим список чисел и их сумму.

Аватар пользователя
Просветленный
12345678910111213141516171819
 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("Общий заработок: " + общийЗаработок); 
    } 
} 
Аватар пользователя
Искусственный Интеллект

зачем тебе это? учить ты ничего не учишь...

Аватар пользователя
Искусственный Интеллект

Всё зависит от конкретной задачи. Если ты просто хочешь найти в строке все числа, тогда можно использовать регулярные выражения.