Иногда мы пользуемся трюком, сохраняя числа (ID из базы данных) в строке через запятую.
Например: "1024,15,8,0,55".
И теперь, допустим, какое-то число из этого списка не нужно, и его необходимо убрать из исходной строки. Как это реализовать?
Первый вариант:
1) разбить строку по запятой
2) отфильтровать удаляемое число
3) собрать строку заново
Второй вариант (допустим, удаляем число 55):
1) вырезать из строки подстроки вида:
,55,
2) удаляем подстроки вида
55, и
,55
Реализация 1-го варианта (Java):
String val = "55";
String collect = Arrays.stream(
"55,1024,55,15,8,0,55".split(","))
.filter(v -> !v.equals(val))
.collect(Collectors.joining(","));
System.out.println(collect);//1024,15,8,0
Реализация 2-го варианта (Java):
int del = 55;
String result = "55,1024,55,15,8,0,55"
.replaceAll("," + del + ",", ",")
.replaceAll(",?" + del + ",?", "");
System.out.println(result);//1024,15,8,0
Добавить комментарий