Java, парсинг строки

191
29 марта 2019, 17:40

Есть строка типа HaT523HaT524HaT525. Подскажите, пожалуйста, как можно разбить эту строку так:

с1 = "HaT523";
c2 = "HaT524";
c3 = "HaT525";` 
Answer 1

Можно с помощью регулярного выражения. Гибко и возможно любое количество совпадений.

    Pattern pattern = Pattern.compile("HaT52\\d");
    String line = "HaT523HaT524HaT525";
    Matcher matcher = pattern.matcher(line);
    String[] array = new String[3];
    for (int i = 0; matcher.find(); i++) {
        array[i] = matcher.group();
    }
    System.out.println(Arrays.toString(array));
Answer 2

Можно воспользоваться методом substring().

String s = "HaT523HaT524HaT525";
String c1, c2, c3;
c1 = s.substring(0, 6);
c2 = s.substring(6 , 12);
c3 = s.substring(12);
READ ALSO
Caused by: java.lang.ArrayIndexOutOfBoundsException: 15 в простом случае

Caused by: java.lang.ArrayIndexOutOfBoundsException: 15 в простом случае

В чем ошибка-то? Он возмущается на строчки

213
LinkedHashSet не удаляет повторяющиеся элементы

LinkedHashSet не удаляет повторяющиеся элементы

Проблема в следующем: необходимо удалить повторяющиеся элементы ArrayList'аДля этого использую следующий код:

145
Слушатель закрытия Activity

Слушатель закрытия Activity

У меня есть класс, который создаёт Activity в некоторых ситуациях, но он не наследуется от ActivityКак мне сделать так, что бы при закрытии Activity в классе...

172
Чтение и Запись Object Array List в файл

Чтение и Запись Object Array List в файл

Как реализовать запись объектного Array List в файл: txt или xmlПожалуйста, разъясните это на конкретных примерах

188