Java - Обрезать начальные или конечные символы из строки?
65905 просмотра
6 ответа
Как я могу обрезать начальные или конечные символы из строки в Java?
Например, косая черта "/" - я не интересуюсь пробелами и ищу обрезку начальных или конечных символов в разное время.
Автор: Brad Parks Источник Размещён: 12.11.2019 09:26Ответы (6)
73 плюса
Вы могли бы использовать
Ведущий:
System.out.println("//test/me".replaceAll("^/+", ""));
Скользящий:
System.out.println("//test/me//".replaceAll("/+$", ""));
Автор: Reimeus
Размещён: 05.09.2014 06:08
31 плюса
Вы можете использовать Apache StringUtils.stripStart для обрезки начальных символов или StringUtils.stripEnd для обрезки конечных символов.
Например:
System.out.println(StringUtils.stripStart("//test/me", "/"));
будет выводить:
Проверь меня
Обратите внимание, что если по какой-то причине вы не можете использовать всю библиотеку StringUtils, вы можете просто удалить соответствующие части, как подробно описано здесь :
Автор: Brad Parks Размещён: 05.09.2014 05:542 плюса
Вы можете использовать простую итерацию, если хотите удалить начальные символы из строки:
String removeLeadingChar(String s, char c) {
int i;
for(i = 0; i < s.length() && s.charAt(i) == c; ++i);
return s.substring(i);
}
та же логика применяется, если вы хотите удалить любой трейлинг char
.
2 плюса
Обрезать символом, строкой или регулярным выражением
Если время выполнения не является для вас большой проблемой, тогда этот код окажется действительно полезным.
public class StringTrimmer {
public static String trim(String string, char ch){
return trim(string, ch, ch);
}
public static String trim(String string, char leadingChar, char trailingChar){
return string.replaceAll("^["+leadingChar+"]+|["+trailingChar+"]+$", "");
}
public static String trim(String string, String regex){
return trim(string, regex, regex);
}
public static String trim(String string, String leadingRegex, String trailingRegex){
return string.replaceAll("^("+leadingRegex+")+|("+trailingRegex+")+$", "");
}
// test
public static void main(String[] args) {
System.out.println(trim("110100", '1', '0')); // outputs: 01
System.out.println(trim("**Aa0*#**", '*')); // outputs: Aa0*#
System.out.println(trim("123##22222", "12", "22")); // outputs: 3##2
System.out.println(trim("101101##10101", "101")); // outputs: ##10
System.out.println(trim("123##abcde", "\\d", "[c-e]")); // outputs: ##ab
}
}
Автор: Minhas Kamal
Размещён: 04.01.2018 12:04
1 плюс
Моя версия обрезки ведущих и / или конечных строк String от String str. Оба аргумента могут быть нулевыми. Когда str не имеет начальных и / или конечных s, оно не изменяется.
String trim(String str, String s) {
String res = s == null ? str : str == null ? null : s.length() >= str.length() ? str : str.replaceFirst(s, "");
if ((res != null) && (s != null) && (res.length() >= s.length())) {
return res.substring(res.length() - s.length(), res.length()).equals(s) ? res.substring(0, res.length() - s.length()) : res;
}
return res;
}
Автор: Andrushenko Alexander
Размещён: 15.11.2017 02:43
1 плюс
Для тех, кто использует Spring:
import org.springframework.util.StringUtils;
public void setFileName(String fileName) {
// If the extension does not exist trim the trailing period
this.fileName = StringUtils.trimTrailingCharacter(fileName,'.');
}
Автор: Gabriel Gates
Размещён: 30.07.2018 08:19
Вопросы из категории :
- java В чем разница между int и Integer в Java и C #?
- java Как я могу определить IP моего маршрутизатора / шлюза в Java?
- java Каков наилучший способ проверки XML-файла по сравнению с XSD-файлом?
- java Как округлить результат целочисленного деления?
- java Преобразование списка <Integer> в список <String>
- java Почему я не могу объявить статические методы в интерфейсе?
- java Библиотека Java SWIFT
- java Выключение компьютера
- java Как я могу воспроизвести звук на Java?
- java Когда выбирать отмеченные и непроверенные исключения
- trim Как стандартным способом обрезать начальные / конечные пробелы?
- trim Как обрезать пробелы из переменной Bash?
- trim Обрезать строку в JavaScript?
- trim Как мне обрезать пробел из строки Python?
- trim JavaScript chop / slice / обрезать последний символ в строке
- trim Как мне удалить ведущие пробелы в Python?
- trim Как обрезать пробелы?
- trim Как я могу разбить и обрезать строку на части по одной строке?
- trim Обрезать символы в Java
- trim Как обрезать начальные и конечные пробелы?