Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 28

Извлечь цифры из строки

30.01.2022, 15:55. Показов 3384. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите! Необходимо выбрать (в виде списка) из текста все числа. Нужно сделать при помощи цикла без использования регулярных выражений.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.01.2022, 15:55
Ответы с готовыми решениями:

Извлечь цифры из текстовой строки
Вечер добрый, очень необходима помощь в написании небольшой программы для извлечения цифр из текста с последующей конвертацией их в...

Как извлечь только цифры из строки
Есть файл и в нем строки вида 00:00:00,000 --> 00:00:00,200 Нужно извлечь только цифры из каждой такой строки и одну часть с цифрами до...

Извлечь цифры из текстовой строки и просуммировать
Нужно с этой строчки 1-(1X); 2-(1); 3-(X2); 4-(1X); 5-(1X); 6-(1X); 7-(1); 8-(1); 9-(2); 10-(1); 11-(1); 12-(X2); 13-(X2); 14-(1X); 15-(X2)...

5
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
30.01.2022, 17:04
Цитата Сообщение от Alexandra1234A Посмотреть сообщение
без использования регулярных выражений
Ну я так не играю

Добавлено через 1 минуту
Alexandra1234A, давай еще пару раз тему создай, чтоб наверняка
Цифры в строке
0
 Аватар для vvm28
771 / 538 / 67
Регистрация: 22.12.2013
Сообщений: 2,497
Записей в блоге: 26
30.01.2022, 20:17
Цитата Сообщение от Alexandra1234A Посмотреть сообщение
Нужно сделать при помощи цикла без использования регулярных выражений.
Как вариант, вы можете использовать
Java
1
Character.isDigit (ch)
https://docs.oracle.com/javase... Digit(char)

Добавлено через 15 минут
PS. На самом деле масса вариантов.

Вы можете поискать рекомендации или тестировать сами по быстродействию.
К примеру использовать Google Guava:

Java
1
CharMatcher.DIGIT.retainFrom("123-456-789");
Но регулярка может оказаться быстрее. Сам не проверял.
1
0 / 0 / 0
Регистрация: 10.10.2020
Сообщений: 28
30.01.2022, 20:42  [ТС]
Уже нашел решение, но спасибо.Использовал character.isdigit
0
 Аватар для vvm28
771 / 538 / 67
Регистрация: 22.12.2013
Сообщений: 2,497
Записей в блоге: 26
30.01.2022, 21:11
Лучший ответ Сообщение было отмечено Alexandra1234A как решение

Решение

Еще вам вариант:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.nio.CharBuffer;
 
public class Main {
 
    public static void main(String[] args) {
        String str1 = "90090 - hjk- sds";
        String str2 = strNonDigits(str1);
        System.out.print(str2);
 
    }
 
    public static String strNonDigits(CharSequence in) {
        if (in == null)
            return null;
        if (in.length() == 0)
            return "";
 
        char[] result = new char[in.length()];
        int cursor = 0;
        CharBuffer buffer = CharBuffer.wrap(in);
 
        while (buffer.hasRemaining()) {
            char chr = buffer.get();
            if (chr > 47 && chr < 58)
                result[cursor++] = chr;
        }
 
        return new String(result, 0, cursor);
    }
}
Добавлено через 7 минут
PS.
Кликните здесь для просмотра всего текста
A char buffer.
This class defines four categories of operations upon char buffers:
Absolute and relative get and put methods that read and write single chars;
Relative bulk get methods that transfer contiguous sequences of chars from this buffer into an array; and
Relative bulk put methods that transfer contiguous sequences of chars from a char array, a string, or some other char buffer into this buffer; and
A method for compacting a char buffer.
Char buffers can be created either by allocation, which allocates space for the buffer's content, by wrapping an existing char array or string into a buffer, or by creating a view of an existing byte buffer.
Like a byte buffer, a char buffer is either direct or non-direct. A char buffer created via the wrap methods of this class will be non-direct. A char buffer created as a view of a byte buffer will be direct if, and only if, the byte buffer itself is direct. Whether or not a char buffer is direct may be determined by invoking the isDirect method.
This class implements the CharSequence interface so that character buffers may be used wherever character sequences are accepted, for example in the regular-expression package java.util.regex.
Methods in this class that do not otherwise have a value to return are specified to return the buffer upon which they are invoked. This allows method invocations to be chained. The sequence of statements
0
 Аватар для vvm28
771 / 538 / 67
Регистрация: 22.12.2013
Сообщений: 2,497
Записей в блоге: 26
02.02.2022, 22:55
PS. Только смотрите тут цифры извлекаются, но они возвращаются в строковом формате,
то есть они не преобразуются в другой тип в int или Integer.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.02.2022, 22:55
Помогаю со студенческими работами здесь

Извлечь цифры из строки. Регулярные выражения
Друзья, мучаюсь уже несколько часов со следующей задачей Пытаюсь извлечь из строки только цифры. public static void RegEXP()...

Извлечь цифры из текстовой строки (Макрос!)
Добрый день, необходима помощь в написании макроса VBA (файл Exel) для извлечения цифр из текста с последующей конвертацией их в...

Из строки извлечь символы операций в стек, а цифры - в другую строку
Из исходной строки необходимо извлечь символы операций и поместить в стек а цифры в другую строку... но вот ошибка... Вот код:const int max...

Извлечь цифры
Дана строка, возможно, содержащая пробелы. Извлеките из этой строки все символы, являющиеся цифрами и составьте из них новую строку....

Извлечь цифры
Дана строка, возможно, содержащая пробелы. Извлеките из этой строки все символы, являющиеся цифрами, и составьте из них новую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод Сайт называется reddit: The Thinkpad X220 Tablet is the best budget school laptop period. Это. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru