Каков наилучший способ удалить жесткий ввод из строки?
Вход:
String in= "strengthened columns
with GRPES
";
Ожидаемый результат: усиленные колонны с GRPES
Я попробовал приведенный ниже код, но он у меня не работает.
in = in.replaceAll("\\r\\n","");
System.out.println(in);
@ М.Прохоров, я пытался, но не получаю правильного вывода.
В регулярном выражении вы должны использовать \r\n, а не \\r\\n (хотя \\r\\n тоже должно работать). Пожалуйста, покажите фактические кодовые точки строки.
in = in.replaceAll("[\r\n]","");ОК будет добавлен в качестве ответа для принятия




Если у вас нет особой причины использовать java-7 сегодня, вот решение, использующее java 13 или выше.
String in= """
strengthened columns
with GRPES
""";
in = in.replaceAll("\\n","");
System.out.println(in);
Я заметил, что вопрос помечен java-7, дайте мне знать, если вы ищете решение, специфичное для версии.
спасибо за ответ. В настоящее время я использую Java 7, поэтому я пометил его как Java 7. Я попробовал приведенный ниже код (in = in.replaceAll("[\r\n]","");), и он работает нормально.
На самом деле вы не избегаете стандартных escape-последовательностей при использовании регулярных выражений. Также вы не хотите указывать порядок escape-последовательностей - вы просто хотите исключить любой тип разделителя строк, поэтому
in = in.replaceAll("[\r\n]","");
В более поздних версиях Java это, вероятно, может быть
in = in.replaceAll("\\R","");
\r\nне единственный возможный вариант. Там может быть только один символ\n. Но также - если вы не получаете правильный вывод - что вы получаете?