Voglio rimuovere virgola alla fine se la stringa termina con una virgolacome rimuovere virgola se la stringa con virgola alla fine
Per esempio
nomi String = "A, B, C,"
ho bisogno di rimuovere l'ultimo comma se la stringa termina con ""
Voglio rimuovere virgola alla fine se la stringa termina con una virgolacome rimuovere virgola se la stringa con virgola alla fine
Per esempio
nomi String = "A, B, C,"
ho bisogno di rimuovere l'ultimo comma se la stringa termina con ""
Si potrebbe provare un'espressione regolare:
names = names.replaceAll(",$", "");
O una semplice stringa:
if (names.endsWith(",")) {
names = names.substring(0, names.length() - 1);
}
if (names.endsWith(",")) {
names = names.substring(0, names.length()-1);
}
int last = names.length() - 1;
if (last > 0 && names.charAt(last) == ',') {
names = names.substring(0, last);
}
System.out.println(names.replaceAll(",([^,]*)$", "$1"));
Se non si vuole reinventare la ruota:
StringUtils.stripEnd(names, ",");
Questo non funzionerà se si desidera solo 1 virgola e ce ne sono di più, ad es. 'S, th ,,' – pstobiecki
È può fare qualcosa di simile usando 'Java 8'
private static void appendNamesWithComma() {
List<String> namesList = Arrays.asList("test1", "tester2", "testers3", "t4");
System.out.println(namesList.stream()
.collect(Collectors.joining(", ")));
}
Puoi spiegare come funziona la cosa regEx qui? –
L'uso di $ in espressioni regolari non rimuove le virgole ma funziona semplicemente usando "," –
@amit Tumkur $ indica la fine della stringa in modo da rimuovere la virgola solo alla fine. – teksan