Замена символов в строке Java

186
07 февраля 2018, 12:47

Метод string = string.replace("a", "b"); заменит все буквы. Но что если нужно заменить только отдельно стоящие? То есть"а" мы меняем, а "aa" остается себе стоять. Есть ли способ как-то это реализовать?

Answer 1

Воспользуйтесь регулярным выражением: (?<!a)a(?!a) , при этом стоящие рядом символы "a" как "aaaa" пропускаются.

  • (?<!a) любой символ не "а" до символа "а"
  • a сам символ "а", который заменяем
  • (?!a) любой символ не "а", после символа "а"

    Пример кода как использвать

    public static void main(String[] args) {
        String testString = "amaaaamaaaamkkjhatapa";
        System.out.println(testString.replaceAll("(?<!a)a(?!a)", "."));
    }
    

Вывод в консоль .maaaamaaaamkkjh.t.p.

READ ALSO
Выгрузка файла через WebView Android

Выгрузка файла через WebView Android

Вообщем код брал с примеров от гуглаsetUpWebViewDefaults(mWebView); вызываю при старте соответственно

199
Лента уведомлений

Лента уведомлений

Как реализовать чтобы при нажатии на уведомление открывалось приложение и содержимое уведомления(Заголовок, Текст сообщения) добавлялось...

169
Что это за способ создания экземпляра класса perem = new Class() { public void method() {}}?

Что это за способ создания экземпляра класса perem = new Class() { public void method() {}}?

Я знаю что классы в java создаются или присваиваются переменным на подобии

225
Выполнение класса в JButton

Выполнение класса в JButton

Есть класс, который выполняет определенные действия и в итоге созадёт текстовые log-файлыВозможно ли создать JFrame с JButton и JTextPane и назначить...

183