Как удалить текст между двумя символами в строке

Как удалить текст между двумя символами, например здесь, из "Впрочем, английский текст !комментария! составлен правильно." получить "Впрочем, английский текст составлен правильно."

 public class Main {
        public static void main(String[] args) {
            String s = "Впрочем, английский текст !комментария! составлен правильно.";
        }
    }

Ответы (2 шт):

Автор решения: doodocina
    public class Main {
    public static void main(String[] args) {
        String s = "Впрочем, английский текст !комментария! составлен правильно.";
        String[] buff = s.split("!");
        String result = buff[0] + buff[2];
        
        System.out.println(result);
    }
}

данный код будет работать если у вас только 2 знака восклицания в тексте, но он очень простой.

→ Ссылка
Автор решения: Nowhere Man

Как было указано в комментариях, следует использовать String::replaceAll, в котором в качестве первого аргумента нужно указать регулярное выражение типа такого (\![^!]\!\s*), т.е. текст из любых символов кроме ! между двумя восклицательными знаками, за которым следует 0 или больше пробельных символов \s*, второй аргумент -- пустая строка:

String s = "!Comment! Впрочем, английский текст !комментария! составлен правильно!!COMMENT!";

System.out.println("'" + s.replaceAll("(\\![^!]+\\!\\s*)", "") + "'");
// -> 'Впрочем, английский текст составлен правильно!'
→ Ссылка