[英]Remove comma at the start of String Array in Java
我有多个String [],其中一些以逗号开头。 我如何在所有数组中循环删除此逗号。
结果:
[,a,b,c,d]
[e,f,g,h,i]
[,j,k,l,m,n]
[w,x,y,z]
码:
HashMap<String, String[]> newHashMap = new HashMap();
String[] baseVectorArray;
for (String name : externalMap.keySet()) {
if (!name.isEmpty()) {
StringBuilder bv = new StringBuilder();
HashMap<String, List<String>> l = oldHashMap.get(name);
List<String> list_of_names;
for (String id : l.keySet()) {
list_of_authors = l.get(id);
for (String s : list_of_names) {
bv.append(s);
bv.append(", ");
}
}
bv.deleteCharAt(bv.lastIndexOf(","));
String bvs = bv.toString();
String[] bva = bvs.split(",");
System.out.println(Arrays.toString(bva));
newHashMap.put(name, bva);
}
}
可能的解决方案:
for (String s : list_of_names) {
bv.append(s.startsWith(',') ? s.substring(1) : s);
bv.append(", ");
}
基本上,我们要检查它是否以逗号开头。 如果是这样,我们将忽略它。
如果您使用的是Java 8,也许应该将代码重构为lambda连接:
String bv = list_of_names.stream()
.map(s -> s.startswith(",") ? s.substring(1) : s)
.collect(Collectors.joining(", "));
在这种情况下, bv.deleteCharAt(bv.lastIndexOf(","));
: bv.deleteCharAt(bv.lastIndexOf(","));
String[] array = {"", "a", "b", "c", "d"};
List<String> list = new ArrayList<>(Arrays.asList(array));
list.removeAll(Arrays.asList("", null));
array = list.toArray(new String[list.size()]);
System.out.println(Arrays.toString(array));
输出:[a,b,c,d]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.