Как удалить строки из начала и конца строки (Java)?
У меня есть строка, содержащая текст, за которым следует пустая строка. Каков наилучший способ сохранить часть текста, но удалить конец строки с конца?
- Ява. Игнорировать акценты при сравнении строк
- Байт Java-массива с массивом строк в байт
- Разделить строку на слова несколькими разделителями
- Команда не обнаружила ошибку в присвоении переменной Bash
- Как работает расширение параметра Bash?
- Сколько байтов принимает один символ Unicode?
- Извлеките разницу между двумя строками в 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])$", "") + "]");
- Начало строки = ^,
- Конец строки = $,
- regex сочетание = | ,
- 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", "");