2012-02-15 44 views
17

具有逗號字符串中刪除逗號我想在端以除去逗號如果字符串以逗號如何如果在端

例如

字符串名稱=結束「A,B,C,」

我需要刪除最後一個逗號,如果字符串結尾 「」

回答

54

你可以嘗試正則表達式:

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

或簡單的字符串:

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

您能解釋regEx在這裏的工作原理嗎? – 2015-08-25 12:59:36

+1

在正則表達式中使用$並不會刪除逗號,而只是使用「,」 – 2015-09-23 10:46:14

+0

@amit Tumkur $表示字符串的結尾,所以它只會在末尾刪除逗號。 – teksan 2015-09-23 12:08:25

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

如果你不想重新發明輪子:

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

如果你只需要1個逗號並且有更多的例子,這是行不通的。 'S,日,,' – pstobiecki 2016-06-13 14:45:12

-1

你可以使用'Java 8'做類似的事情

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

}