К примеру имеется строка - " Купил 10 бананов потратил 5 рублей". Строка может изменять количество слов, само число, но количество цифровых значений всегда одинакова.
Как внести по отдельности все цифровые значения из строки в массив?
Подскажите как решить.
Поиск групп цифр в строке и их добавление в список:
String str = "abc 10 def ghi 5 jkl";
Pattern pattern = Pattern.compile("(\\d+)");
Matcher matcher = pattern.matcher(str);
List<String> matches = new ArrayList<>();
while (matcher.find())
{
matches.add(matcher.group(1));
}
Я далек от Java, но разве нельзя итерировать строку и проверять, не является ли символ числовым? Если является — в массив (или в более подходящую для задачи структуру)
Вы можете воспользоваться регулярными выражениями. Объявить шаблон, который ищет числовые группы, применить его ко входной строке и потом пройти по всем группам. Примерно так:
String line = "Купил 10 бананов потратил 5 рублей";
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(line);
while (matcher.find()) {
//Здесь matcher.group(0) -- это будет найденное число в строковом виде
System.out.println("Found: " + matcher.group(0));
}
Код выше должен вывести:
Found: 10
Found: 5
Подробнее о регулярных выражениях написано здесь, похожий вопрос, только со словами вот тут
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
ЗдравствуйтеЕсть бд в которой лежат записи адресов сайтов, паролей и еще одной штуки
Добрый день! Делаю composite component на jsf с использованием primefacesМой компонент:
Нужно сделать ленивую загрузку для объектов, не вызывая orghibernate