Как извлечь числа из строки Java? [требует правки]

205
10 декабря 2017, 11:13

Есть строка

46 55 66 95

Нужно ёё переоразовать в масив. P.S. Числа могут быть любой длинны!

Answer 1

Олдскул

String text = "46 55 66 95";
ArrayList<Integer> numbers = new ArrayList<>();
for (String part : text.split("\\s")) {
    numbers.add(Integer.parseInt(part));
}

StreamAPI (Java 8+)

String text = "46 55 66 95";
int[] numbers = Arrays.stream(text.split("\\s"))
                    .mapToInt(Integer::parseInt)
                    .toArray();

Стоит иметь в виду, что если в тексте вдруг окажутся не числовые символы, то Integer.parseInt() выбросит NumberFormatException.

Answer 2

Ну используйте, например, Scanner

String data = "46 55 66 95";
try (Scanner s = new Scanner(data)) {
    while (s.hasNextInt()) {
        int num = s.nextInt();
        System.out.println(num);
    }
}
Answer 3

Если коллекции и списки не разбирал еще то вот моё решение:

String string = "4666 155 0 -95";
    int count = 1;
    char space = ' ';
    for (int i = 0; i < string.length(); i++) {
        if (string.charAt(i) == space) {
            count++;
        }
    }
    int[] array = new int[count];
    count = 0;
    int beginNumber = 0;
    int endNumber;
    for (int i = 0; i < string.length(); i++) {
        if (string.charAt(i) == space) {
            endNumber = i;
            array[count] = Integer.parseInt(string.substring(beginNumber, endNumber));
            count++;
            beginNumber = endNumber + 1;
        } else if (i == string.length() - 1) {
            array[count] = Integer.parseInt(string.substring(beginNumber, string.length()));
        }
    }
    System.out.print("int array: ");
    for (int anArray : array) {
        System.out.print(anArray + " ");
    }
    System.out.println();
READ ALSO
Cоздание документа формата doc

Cоздание документа формата doc

Каким образом создать документ формата doc ? Если можно, с примером

183
Mediaplayer array как создать?

Mediaplayer array как создать?

MediaPlayer mp = MediaPlayercreate(this, R

145
Выдергивание меню

Выдергивание меню

Доброго времени сутокУ меня такой вопрос, как реализовать вытаскивание(выдергивание меню), как панель уведомлений в андроид

142
VSCode форматирование HTML кода

VSCode форматирование HTML кода

Можно ли в VSCode настроить форматирование HTML кода так, чтоб не форматировалось по атрибутам тега по атрибутам, а перенос осуществлялся по параметру...

287