Java: получение подстроки из строки без утилит lang3 и StringUtils

#java

#java

Вопрос:

Мне нужно получить целое число из строки, используя Java 7.

Строка — это что-то вроде:

 ""Transformed": any-number,
  

Мне нужно получить any-number подстроку после первого совпадения со "Transformed": строкой.

Комментарии:

1. Что вы пробовали до сих пор? Это похоже на JSON, вы пробовали это анализировать?

2. Это, вероятно, лучше всего решается с помощью регулярного выражения . Если вы не знаете регулярных выражений , сейчас самое время научиться. — Если это не JSON, то лучше всего решить проблему с помощью синтаксического анализатора JSON.

Ответ №1:

Как было указано в комментариях, если это JSON, более целесообразно использовать анализатор JSON. В противном случае вы можете использовать регулярное выражение, которое может выглядеть примерно так:

 String line = ""Transformed": 10";
String pattern = "Transformed.:.(\d )";

Pattern r = Pattern.compile(pattern);

Matcher m = r.matcher(line);

if (m.find()) {
    System.out.println("Found value: "   m.group(0) );
    System.out.println("Found value: "   m.group(1) );
}else {
    System.out.println("NO MATCH");
}
  

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