2012-02-15 27 views

Respuesta

54

Usted podría tratar de una expresión regular:

names = names.replaceAll(",$", ""); 

o una subcadena simple:

if (names.endsWith(",")) { 
    names = names.substring(0, names.length() - 1); 
} 
+0

¿Podría explicarnos cómo funciona el regEx aquí? –

+1

El uso de $ en la expresión regular no elimina las comas, pero funciona simplemente con "," –

+0

@amit Tumkur $ indica el final de la cadena, por lo que eliminará la coma solo al final. – teksan

14
if (names.endsWith(",")) { 
    names = names.substring(0, names.length()-1); 
} 
2
int last = names.length() - 1; 
if (last > 0 && names.charAt(last) == ',') { 
    names = names.substring(0, last); 
} 
0
System.out.println(names.replaceAll(",([^,]*)$", "$1")); 
1

Si no desea que reinventar la rueda:

StringUtils.stripEnd(names, ","); 
+0

Esto no funcionará si solo quiere 1 coma y hay más, p. 's, th ,,' – pstobiecki

-1

Usted puede hacer algo como esto usando 'Java 8'

private static void appendNamesWithComma() { 
    List<String> namesList = Arrays.asList("test1", "tester2", "testers3", "t4"); 
    System.out.println(namesList.stream() 
           .collect(Collectors.joining(", "))); 

} 
Cuestiones relacionadas