Как из строки вытащить числа java
Для извлечения чисел из строки в Java можно использовать регулярные выражения. Для этого можно воспользоваться классом Pattern и Matcher :
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main public static void main(String[] args) String str = "abc123def456ghi789"; Pattern pattern = Pattern.compile("\\d+"); Matcher matcher = pattern.matcher(str); while (matcher.find()) System.out.println(matcher.group()); > > >
В данном примере мы
- создаем объект Pattern , используя регулярное выражение \d+ , которое означает «один или более цифр»
- создаем объект Matcher , который будет использоваться для поиска соответствий в строке str
- используем метод find() для поиска следующего соответствия, и метод group() для получения найденного числа. Метод find() будет продолжать искать числа, пока они есть в строке.
В результате выполнения кода будут выведены следующие числа:
Как извлечь числа из строки Java? [закрыт]
Закрыт. Этот вопрос не по теме. Ответы на него в данный момент не принимаются.
Учебные задания допустимы в качестве вопросов только при условии, что вы пытались решить их самостоятельно перед тем, как задать вопрос. Пожалуйста, отредактируйте вопрос и укажите, что именно вызвало у вас трудности при решении задачи. Например, приведите код, который вы написали, пытаясь решить задачу
Закрыт 5 лет назад .
Есть строка
46 55 66 95
Нужно ёё переоразовать в масив. P.S. Числа могут быть любой длинны!
Достать числа из строки
Достать числа из строки
Имею строку String line="85 45 96" Как из неё достать числа?
Достать все числа из строки
Добрый вечер. Помогите пожалуйста. Мне нужно как-то из строки вытащить все числа и записать их в.
Достать все числа из строки и записать их в массив
Добрый вечер. Помогите пожалуйста. Мне нужно как-то из строки вытащить все числа и записать их в.

Достать емайлы из строки
Как красиво изъять емайлы из строки в масив List<String> emails? Например есть строка: И.
Am I evil? Yes, I am!
![]()
![]()
18968 / 9663 / 2710
Регистрация: 21.10.2017
Сообщений: 21,476

Сообщение было отмечено Artyr2 как решение
Решение
1 2 3 4 5 6 7 8 9 10 11 12 13 14
public static void main(String[] args) { String s = "32.24.423.234.3"; String s2 = "usd324/kurur23.32ajfjasf..saf.fds.fa324.324.afjjf34"; Pattern p = Pattern.compile("(\\d+\\.?\\d*)"); Matcher m = p.matcher(s); while (m.find()) System.out.println(Double.parseDouble(m.group())); System.out.println(); m = p.matcher(s2); while (m.find()) System.out.println(Double.parseDouble(m.group())); }
1 2 3 4 5 6 7 8
32.24 423.234 3.0 324.0 23.32 324.324 34.0
Добавлено через 3 минуты
Artyr2, в лист, я надеюсь, сам засунешь
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Достать определенные строки из текста
Допустим есть текст Polymer 40 (1998) 117-124 Size exclusion chromatography of polymers with.

Достать последний символ из строки
Имеется строчка, необходимо достать последний(с конца первый) символ в ней. Как?

Достать уникальные строки из текста
Здравствуйте, Прошу помощи. Есть текстовый список ip адресов. Одна строка — один ip адрес. Но.
Регулярное выражение. Достать значение из строки
Как достать значение из строки Xxxx_sssxxw = qw2iddd; asddd Делал так string str = "Xxxx_sssxxw.
Операции со строками и подстроками в Java
В этой статье мы рассмотрим операции со строкой и подстрокой. Вы узнаете, как соединять и сравнивать строки, как извлекать символы и подстроки, как выполнять поиск в строке.
Соединение строк в Java
Чтобы соединить строки в Java, подойдёт операция сложения «+» :
String str1 = "Java"; String str2 = "Hi"; String str3 = str1 + " " + str2; System.out.println(str3); // Hi JavaЕсли же в предстоящей операции сложения строк будет применяться нестроковый объект, допустим, число, данный объект преобразуется к строке:
String str3 = "Год " + 2020;По факту, когда мы складываем строки с нестроковыми объектами, вызывается метод valueOf() класса String. Этот метод преобразует к строке почти все типы данных. Чтобы преобразовать объекты разных классов, valueOf вызывает метод toString() данных классов.
Объединять строки можно и с помощью concat() :
String str1 = "Java"; String str2 = "Hi"; str2 = str2.concat(str1); // HiJavaМетод принимает строку, с которой нужно объединить вызывающую строку, возвращая нам уже соединённую строку.
Также мы можем использовать метод join() , позволяющий объединять строки с учетом разделителя. Допустим, две строки выше слились в слово "HiJava", однако мы бы хотели разделить подстроки пробелом. Тут и пригодится join() :
String str1 = "Java"; String str2 = "Hi"; String str3 = String.join(" ", str2, str1); // Hi JavaМетод join — статический. Первый параметр — это разделитель, который будет использоваться для разделения подстрок в общей строке. Последующие параметры осуществляют передачу через запятую произвольного набора объединяемых подстрок — в нашем случае их две, но можно и больше.
Извлекаем символы и подстроки в Java
Чтобы извлечь символы по индексу, в классе String есть метод char charAt(int index) . Этот метод принимает индекс, по которому необходимо получить символы, возвращая извлеченный символ:
String str = "Java"; char c = str.charAt(2); System.out.println(c); // vОбратите внимание, что индексация начинается с нуля, впрочем, как и в массивах. Если же нужно извлечь сразу группу символов либо подстроку, подойдёт getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) . Этот метод принимает ряд параметров: • srcBegin: индекс в нашей строке, с которого осуществляется начало извлечения символов; • srcEnd: индекс в нашей строке, до которого осуществляется извлечение символов; • dst: массив символов (именно в него будут эти символы извлекаться); • dstBegin: индекс в массиве dst (с него надо добавлять символы, извлечённые из строки).
String str = "Hi world!"; int start = 6; int end = 11; char[] dst=new char[end - start]; str.getChars(start, end, dst, 0); System.out.println(dst); // worldСравниваем строки в Java
Мы уже писали о том, как сравнивать строки в Java, используя для этого метод equals() (регистр учитывается) и equalsIgnoreCase() (регистр не учитывается). Хотелось бы сказать пару слов про ещё одну пару методов: int compareTo(String str) и int compareToIgnoreCase(String str) — они позволяют не только сравнить 2 строки, но и узнать, больше ли одна другой. Если значение, которое возвращается, больше 0, первая строка больше, если меньше нуля, всё наоборот. Когда обе строки равны, вернётся ноль.
Для определения используется лексикографический порядок. Допустим, строка "A" меньше строки "B", ведь символ 'A' в алфавите находится перед символом 'B'. Когда первые символы строк равны, в расчёт берутся следующие символы. К примеру:
String str1 = "hello"; String str2 = "world"; String str3 = "hell"; System.out.println(str1.compareTo(str2)); // -15 - str1 меньше, чем strt2 System.out.println(str1.compareTo(str3)); // 1 - str1 больше, чем str3Поиск в строке в Java
Чтобы найти индекс первого вхождения подстроки в строку, используют метод indexOf() , последнего — метод lastIndexOf() . Если подстрока не найдена, оба метода вернут -1:
String str = "Hello world"; int index1 = str.indexOf('l'); // 2 int index2 = str.indexOf("wo"); //6 int index3 = str.lastIndexOf('l'); //9Чтобы определить, начинается строка с определённой подстроки, применяют метод startsWith() . Что касается метода endsWith() , то он даёт возможность определить оканчивается ли строка на определенную подстроку:
String str = "myfile.exe"; boolean start = str.startsWith("my"); //true boolean end = str.endsWith("exe"); //trueВыполняем замену в строке в Java
Заменить в нашей строке одну последовательность символов другой можно с помощью метода replace() :
String str = "Hello world"; String replStr1 = str.replace('l', 'd'); // Heddo wordd String replStr2 = str.replace("Hello", "Bye"); // Bye worldОбрезаем строки в Java
Для удаления начальных и конечных пробелов применяют метод trim() :
String str = " hello world "; str = str.trim(); // hello worldТакже существует метод substring() — он возвращает подстроку, делая это с какого-нибудь конкретного индекса до конца либо до определённого индекса:
String str = "Hello world"; String substr1 = str.substring(6); // world String substr2 = str.substring(3,5); //loМеняем регистр в Java
При необходимости вы можете перевести все символы вашей строки в нижний регистр ( toLowerCase() ) или в верхний ( toUpperCase() ):
String str = "Hello World"; System.out.println(str.toLowerCase()); // hello world System.out.println(str.toUpperCase()); // HELLO WORLDSplit
С помощью этого метода вы сможете разбить строку на подстроки по конкретному разделителю. Под разделителем понимается какой-либо символ либо набор символов, передаваемые в метод в качестве параметра. Давайте для примера разобьём небольшой текст на отдельные слова:
String text = "OTUS is a good company"; String[] words = text.split(" "); for(String word : words) System.out.println(word); >В нашем случае строка разделится по пробелу, и мы получим следующий консольный вывод:
OTUS is a good companyВот и всё! Узнать больше всегда можно на наших курсах: