Как вырезать число из строки?

342
02 марта 2017, 23:22

От сервера приходит число в виде строки:

"66"

Как можно получить число из строки, не используя substring()?

Мой наставник дал такое задание - не могу ничего придумать.

Answer 1

Воспользуйтесь регулярным выражением

final String regex = "\"(\\d+)\"";
final String string = "\"66\"";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
    System.out.println("Full match: " + matcher.group(0));
    for (int i = 1; i <= matcher.groupCount(); i++) {
        System.out.println("Group " + i + ": " + matcher.group(i));
    }
}
Answer 2

Обнаружить первую группу цифр в строке и привести их к числу можно и с помощью посимвольного анализа строки:

String str = "\"66\"";
int number = 0;
boolean gotFirstDigit = false;
for (char c : str.toCharArray())
{
    if (c >= '0' && c <= '9')
    {
        number = number * 10 + c - '0';
        gotFirstDigit = true;
    }
    else if (gotFirstDigit)
    {
        break;
    }
}
System.out.println(number);

Но это уже как вариант "в качестве альтернативы".

READ ALSO
Сдвиг даты на день с выходных

Сдвиг даты на день с выходных

Необходимо сделать так, чтобы при попадании очередной даты на субботу, дата сдвинулась на пятницу и, соответственно, с воскресенья на понедельник

272
А можно упростить XML файл конфигураци Spring?

А можно упростить XML файл конфигураци Spring?

Ну я сразу скажу, что только начинаю изучать Spring, так что не судите очень строгоПоймал себя на том, что пишу в файле конфигурации одно и то же

191
Передача файлов и текстовых данных Java

Передача файлов и текстовых данных Java

Подскажите пожалуйстаСделал загрузку файла при помощи AJAX, плагином для JQuery

259
Чтение файла с бинарными данными в текстовом виде

Чтение файла с бинарными данными в текстовом виде

Добрый деньУ меня есть файл, который я храню в ресурсах приложения, а именно в raw

281