Как удалить строки из начала и конца строки (Java)?

У меня есть строка, содержащая текст, за которым следует пустая строка. Каков наилучший способ сохранить часть текста, но удалить конец строки с конца?

Используйте String.trim() чтобы избавиться от пробелов (пробелов, новых строк и т. Д.) От начала и до конца строки.

 String trimmedString = myString.trim(); 
 String.replaceAll("[\n\r]", ""); 
 String trimStartEnd = "\n TestString1 linebreak1\nlinebreak2\nlinebreak3\n TestString2 \n"; System.out.println("Original String : [" + trimStartEnd + "]"); System.out.println("-----------------------------"); System.out.println("Result String : [" + trimStartEnd.replaceAll("^(\\r\\n|[\\n\\x0B\\x0C\\r\\u0085\\u2028\\u2029])|(\\r\\n|[\\n\\x0B\\x0C\\r\\u0085\\u2028\\u2029])$", "") + "]"); 
  1. Начало строки = ^,
  2. Конец строки = $,
  3. regex сочетание = | ,
  4. Linebreak = \ r \ n | [\ n \ x0B \ x0C \ r \ u0085 \ u2028 \ u2029]

Я собираюсь добавить ответ на этот вопрос, потому что, хотя у меня был такой же вопрос, предоставленного ответа было недостаточно. Учитывая некоторые мысли, я понял, что это можно сделать очень легко с регулярным выражением.

Чтобы удалить новые строки с самого начала:

 // Trim left String[] a = "\n\nfrom the beginning\n\n".split("^\\n+", 2); System.out.println("-" + (a.length > 1 ? a[1] : a[0]) + "-"); 

и конец строки:

 // Trim right String z = "\n\nfrom the end\n\n"; System.out.println("-" + z.split("\\n+$", 2)[0] + "-"); 

Я уверен, что это не самый эффективный способ обрезки строки. Но это, по-видимому, самый чистый и самый простой способ встроить такую ​​операцию.

Обратите внимание, что этот же метод можно выполнить, чтобы обрезать любые вариации и комбинацию символов с любого конца, так как это простое регулярное выражение.

Если ваша строка потенциально null , рассмотрите возможность использования StringUtils.trim() – нулевой версии String.trim() .

 String text = readFileAsString("textfile.txt"); text = text.replace("\n", "").replace("\r", ""); 
  • Получить n-й символ строки в языке программирования Swift
  • Получить индекс n-го вхождения строки?
  • Лучший способ заменить многие строки - обфускация в C #
  • Что подразумевается под неизменным?
  • Как проверить, существует ли строка в файле с Bash?
  • Как обрезать пробелы?
  • Проверьте, соответствует ли строка регулярному выражению в сценарии Bash
  • Почему class String объявлен окончательным в Java?
  • В C, почему я не могу назначить строку массиву символов после ее объявления?
  • Удалить расширение файла из строки имени файла
  • Разделить строку с точкой в ​​качестве разделителя
  • Interesting Posts

    Каковы местоположения различных файлов тем в Windows 7?

    Каково время построения представления?

    Как перегруженный метод выбирается, когда параметр является буквальным нулевым значением?

    Есть ли такая вещь, как javascript-деминератор (деобфускатор)?

    Запуск OS X 10.6 в 64-битном режиме

    GridView – отображать заголовки на пустом источнике данных

    Инициализация массива с помощью конструктора по умолчанию

    Как получить панель задач Windows 7 с меню «Пуск» для отображения на двух мониторах?

    Есть ли использование unique_ptr с массивом?

    Как переопределить шифрованный список, отправленный на сервер Android при использовании HttpsURLConnection?

    Выбор файловой системы для GNU / Linux на SD-карте

    Записывать одно и то же приложение несколько раз в Windows 7

    Зависимая область и вложенные шаблоны

    Есть ли способ обойти, не имея 64-битных драйверов для USB-устройства?

    Настройка параметров прокси-сервера для автоматического обнаружения прокси-сервера с помощью командной строки на Mac OSX

    Давайте будем гением компьютера.