Nikolaanastasiia
@Nikolaanastasiia

Как изменить вывод?

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Task2 {
    public static void main(String[] args) {
        String text = "ZAAABBCCDDDD";
        Matcher m = Pattern.compile("(.)\\1+").matcher(text);
        while (m.find()) {
            String sub = m.group();
            System.out.println(sub + sub.length ());
        }
    }
}


Например, есть строка "AAABCCDDDD", нужно, чтобы вышло " A3BC2D4", у меня выходят также все буквы, подскажите пожалуйста как исправить? 5fe62e4463f00680854859.png
  • Вопрос задан
  • 94 просмотра
Решения вопроса 2
@Kot1que
System.out.print(sub.substring(0, 1) + sub.length());
Ответ написан
Bavashi
@Bavashi Куратор тега Java
public static void main(String[] args) {
        String text = "AAABCCDDDD";
        String[] arr = text.split("");

        Map<String, Long> map = Arrays.stream(arr).collect(Collectors.groupingBy(c->c, Collectors.counting()));
        map.forEach((k,v)->System.out.print(k + (v>1?v:"")));
    }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ОТП Банк Москва
от 240 000 до 270 000 ₽
Sportmaster Lab Санкт-Петербург
от 150 000 ₽
Эвотор Москва
от 180 000 до 250 000 ₽
26 янв. 2021, в 18:54
2000 руб./за проект
26 янв. 2021, в 18:45
2000 руб./за проект
26 янв. 2021, в 18:32
1000 руб./в час