Имеется метод String.replaceAll(String regex, String replacement).
https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html#sum
Допустим мне нужно заменить каждый символ в строке. Следовательно, в regex я записываю ".".
Если мне нужно заменить каждый символ в строке таким же символом дважды ("а" заменяю на "аа", "в" заменяю на "вв" и так далее), то мне нужно прописать в replacement такую комбинацию "$0$0".
Как получилась такая комбинация "$0$0"? По ссылке выше такого нету. Не могу понять.
System.out.println("test".replaceAll(".", "$0$0"));
Тут надо понимать, что при разборе текста регулярным выражением можно использовать группы. У нас случай простой, и групп в принципе нет. Обращаются к группам по индексу, начиная с единицы.
Вот пример работы с группами:
System.out.println("1-2".replaceAll("(\\d)(.*)(\\d)", "$3$2$1"));
Мы переставляем первое и последнее число местами. Результат:
2-1
А что же с $0
? Это означает, что берётся полное найденное совпадение (если есть).
System.out.println("41-2".replaceAll("\\d(\\d)(.*)(\\d)", "$3$2$1 \"$0\""));
Результат:
2-1 "41-2"
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть класс, где происходит сравнение двух изображений Bitmap
Видел очень много примеров создания сущностей, но почему-то всегда вместо любых числовых значений используют не примитивы, а классы-оболочкиНапример,...
Есть две сущности: User и AddressОни в моем случае должны быть связаны связью один-к-одному, то есть в одной из них должна быть ссылка на другую:...