Я получил строку из базы данных с несколькими запятыми (,). Я хочу удалить последнюю запятую , но не могу найти простой способ сделать это.
,
Что у меня есть: kushalhs, mayurvm, narendrabz,
kushalhs, mayurvm, narendrabz,
Что я хочу: kushalhs, mayurvm, narendrabz
kushalhs, mayurvm, narendrabz
Или как то так:
private static String myRemComa(String input) { String[] exploded = input.split(","); input=""; boolean start = true; for(String str : exploded) { str=str.trim(); if (str.length()>0) { if (start) { input = str; start = false; } else { input = input + "," + str; } } } return input; }
public static String removeExtraCommas(String entry) { if(entry==null) return null; String ret=""; entry=entry.replaceAll("\\s",""); String arr[]=entry.split(","); boolean start=true; for(String str:arr) { if(!"".equalsIgnoreCase(str)) { if(start) { ret=str; start=false; } else { ret=ret+","+str; } } } return ret; }
Вы можете попробовать это, у меня это сработало:
if (names.endsWith(",")) { names = names.substring(0, names.length() - 1); }
Или вы можете попробовать это тоже:
string = string.replaceAll(", $", "");
Вы можете сделать что-то подобное, используя 'Java 8'
private static void appendNamesWithComma() { List<String> namesList = Arrays.asList("test1", "tester2", "testers3", "t4"); System.out.println(namesList.stream() .collect(Collectors.joining(", "))); }
String str = "kushalhs , mayurvm , narendrabz ,"; System.out.println(str.replaceAll(",([^,]*)$", "$1"));
Проверьте, если str.charAt(str.length() -1) == ','. Тогда делай str = str.substring(0, str.length()-1)
str.charAt(str.length() -1) == ','
str = str.substring(0, str.length()-1)