Я не люблю образец Regex, работающий на Java, чтобы удалить все дублированные символы.Как удалить все дублированные символы
Этот код не работает: «g» и «<» удалены, более двух символов явно не сведены к одному, а «454» сокращен до «5».
s = "aa hgjii2222 22 FFonn;;;,,1111111111 22< 454";
p = Pattern.compile("(.)(.)");
m = p.matcher(s);
System.out.println(m.replaceAll("$1"));
Выход:
hji222 Fon;, 11111 2 5
Я пробовал другие решения с меньшим успехом.
Каков ожидаемый результат? – kennytm
Не все проблемы должны решаться с помощью регулярных выражений. Почему бы вам просто не перебирать символы и добавлять только текущий символ, если он отличается от предыдущего? –
нет оскорбительных, просто хочу lol в шаблоне '(.) (.)'. во всяком случае, этот шаблон сжимает каждую пару двух символов до первого символа. –