Из string в int java
Автор Mykola Shymechko задал вопрос в разделе Java
Как конвертировать String в int (Java) и получил лучший ответ
Ответ от Андрей Панарин[гуру]
Тебе нужно найти в этой строке каждую отдельную последовательность цифр и преобразовать ее в число.
Заведи хранилище для таких чисел:
List< Integer > nums = new ArrayList< Integer >();
Затем заведи регулярное выражение, которое позволит тебе искать последовательность цифр (d) из 1 и более цифр (+):
Pattern p = Pattern.compile("d+");
Затем создай матчер, который будет искать эту последовательность в твоей строке:
Matcher m = p.matcher(qwer);
У матчера есть метод find(). Он вернет true, если нашел очередную последовательность. Если хочешь найти каждую из них — ищи в цикле:
while (m.find()) {
После каждого такого поиска матчер будет хранить найденный результат — подстроку из цифр. Эту подстроку можно получить при помощи метода group().
String numString = m.group();
Затем переводим ее в число и заносим в список:
int num = Integer.parseInt(numString);
nums.add(num);
}
Для проверки можем вывести полученный список чисел:
System.out.println(nums);
Готово!
Я сделал метод:
public static int[] getInts(String string) {
string = string.replaceAll("_", " ");
for (int i = 0; i < string.length(); i++) {
char a = string.charAt(i);
if (!(a == '1') && !(a == '2') && !(a == '3') && !(a == '4') && !(a == '5') && !(a == '6') && !(a == '7')
&& !(a == '8') && !(a == '9') && !(a == '0'))
a = '_';
string = string.substring(0, i) + a + string.substring(i + 1);
}
while (string.contains("__"))
string = string.replaceAll("__", "_");
String[] strings = string.split("_");
int[] a = new int[strings.length];
for (int i = 0; i < strings.length; i++)
a[i] = Integer.parseInt(strings[i]);
return a;
}
Пишите так:
int[] ints = getInts("578_asd_3_alh_31_e49_6a0re");
И теперь массив ints содержит нужный вам набор цифр...
Например если написать
for (int a : ints)
System.out.print(a + " ");
То в консоли напишет 578 3 31 49 6 0
Как в Visual C++ 2008 express перевести тип int в string или char?
а у вас фреймворк окошечный какой: MFC или Windows Forms?
В MFC- и WTL-приложениях используется
подробнее...
Зачем нужен return в Java ?
В общем-то она и предназначена для возврата данных. Они сначала обрабатываются, а после операции
подробнее...
Вопрос по JAVA 🙂
Банальный)))
Как из String , типа "235423" получить int ?
String s = "235423";
Integer i = Integer.parseInt(s);
Т. е. для преобразования
подробнее...
Есть ли условие проверки на пустоту ячейки типа int, как у String есть isEmpty()? JAVA
Если имеется в виду тип int, - то он никогда не бывает пустым.
Если имеется в виду тип
подробнее...
Класс String и его методы
String str1 = "daxzaaaxezwdxx";
Это чтобы получить строку aaaxe:
подробнее...
Написать метод java для извлечения самого длинного слова из файла
в твоем коде не стал разбираться, мне впадлу. вот вариант работоспособный и короткий
подробнее...
Java, как получить текст по нажатию Enter из объекта класса JTextField, JTextArea
1.
private JTextField field;
public void initGui(){
field=new
подробнее...
Не выводит изображение в JAVA
Замени это
IMG(){
JFrame frame = new JFrame();
подробнее...
Помогите с кодом. Нужен метод который разбивает сроку в ArrayList, по символам.
В смысле "по символам"? "Строка" = [ 'С','т','р','о','к','а'] или "Вася, Петя, Коля" = [
подробнее...
Java. Дан массив из 10 int. Наполнить массив случайными числами от -10 до 10.
import java.util.*;
class q95563532 {
public static void main(String[]
подробнее...
Задание аргументов из командной строки в Java
Ты думаешь, что пишешь? Сказано же "Не могу найти запускаемый класс arg1". Ты запустил JRE с
подробнее...