У меня есть строка, содержащая текст, за которым следует пустая строка. Как лучше всего оставить часть с текстом, но удалить пробел новой строки с конца?
java
string
line
blank-line
Confiqure
источник
источник
Ответы:
Используйте
String.trim()
метод, чтобы избавиться от пробелов (пробелов, новых строк и т. Д.) В начале и в конце строки.источник
источник
ТЛ; др
String::strip…
Старый
String::trim
метод имеет странное определение из пробелов .Как обсуждалось здесь , Java 11 добавляет
strip…
вString
класс новые методы . В них используется более понятное определение пробелов в Юникоде. См. Правила этого определения в классе JavaDoc дляCharacter::isWhitespace
.Пример кода.
Или вы можете удалить только начальные или конечные пробелы.
Вы не указываете точно, какие кодовые точки составляют ваши новые строки. Я полагаю, что ваша новая строка, вероятно, включена в этот список кодовых точек, на которые нацелены
strip
:источник
Этот код Java делает именно то, что указано в заголовке вопроса, а именно «удаляет символы новой строки из начала и конца строки-java»:
Удаляйте символы новой строки только с конца строки:
Удаляйте символы новой строки только с начала строки:
источник
Если ваша строка потенциально возможна
null
, рассмотрите возможность использованияStringUtils.trim()
- нулевой версииString.trim()
.источник
источник
Если вы хотите удалить разрывы строк (а не пробелы, табуляции) в начале и конце строки (не между ними), вы можете использовать этот подход:
Используйте регулярные выражения для удаления возврата каретки (
\\r
) и перевода строки (\\n
) из начала (^
) и конца ($
) строки:Полный пример:
Он выводит:
источник
Я собираюсь добавить ответ и на этот вопрос, потому что, хотя у меня был тот же вопрос, предоставленного ответа было недостаточно. Поразмыслив, я понял, что это очень легко сделать с помощью регулярного выражения.
Чтобы удалить символы новой строки с начала:
и конец строки:
Я уверен, что это не самый эффективный способ обрезки строки. Но это, по-видимому, самый чистый и простой способ встроить такую операцию.
Обратите внимание, что тот же метод можно использовать для обрезки любых вариаций и комбинаций символов с любого конца, поскольку это простое регулярное выражение.
источник
split()
- это просто предел. Отключите его, если хотите совпадать неограниченное количество раз.Попробуй это
источник
источник