2012-02-15 45 views

Trả lời

54

Bạn có thể thử một biểu thức chính quy:

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

Hoặc một chuỗi đơn giản:

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

Bạn có thể giải thích cách hoạt động của tính năng regEx ở đây không? –

+1

Sử dụng $ trong biểu thức chính quy không loại bỏ dấu phẩy nhưng chỉ hoạt động bằng cách sử dụng "," –

+0

@amit Tumkur $ cho biết kết thúc chuỗi để chỉ xóa dấu phẩy ở cuối. – 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

Nếu bạn không muốn phát minh lại bánh xe:

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

Điều này sẽ không hoạt động nếu bạn chỉ muốn 1 dấu phẩy và có nhiều dấu phẩy hơn, ví dụ: 's, th ,,' – pstobiecki

-1

Bạn có thể làm điều gì đó như thế này bằng cách sử dụng 'Java 8'

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

} 
Các vấn đề liên quan