Как удалить текст между двумя символами в строке
Как удалить текст между двумя символами, например здесь, из "Впрочем, английский текст !комментария! составлен правильно." получить "Впрочем, английский текст составлен правильно."
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*)", "") + "'");
// -> 'Впрочем, английский текст составлен правильно!'