在Java中删除字符串数组开头的逗号

在Java中删除字符串数组开头的逗号,java,string,Java,String,我有多个字符串[],其中一些以逗号开头。如何在所有数组的循环中删除此逗号 结果: [,a,b,c,d] [e,f,g,h,i] [,j,k,l,m,n] [w,x,y,z] 代码: HashMap newHashMap=newHashMap(); 字符串[]baseVectorArray; for(字符串名称:externalMap.keySet()){ 如果(!name.isEmpty()){ StringBuilder bv=新的StringBuilder(); HashMap l=old

我有多个字符串[],其中一些以逗号开头。如何在所有数组的循环中删除此逗号

结果:

[,a,b,c,d]
[e,f,g,h,i]
[,j,k,l,m,n]
[w,x,y,z]
代码:

HashMap newHashMap=newHashMap();
字符串[]baseVectorArray;
for(字符串名称:externalMap.keySet()){
如果(!name.isEmpty()){
StringBuilder bv=新的StringBuilder();
HashMap l=oldHashMap.get(名称);
列出名称的列表;
for(字符串id:l.keySet()){
作者列表=l.get(id);
for(字符串s:名称列表){
bv.追加;
bv.追加(“,”);
}
}
bv.deleteCharAt(bv.lastIndexOf(“,”);
字符串bvs=bv.toString();
字符串[]bva=bvs.split(“,”);
System.out.println(Arrays.toString(bva));
newHashMap.put(名称,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(“,”)

可能的解决方案:

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(“,”)

String[]数组={”、“a”、“b”、“c”、“d”};
List List=newarraylist(Arrays.asList(array));
removeAll(Arrays.asList(“,null));
array=list.toArray(新字符串[list.size()]);
System.out.println(array.toString(array));
输出:[a,b,c,d]

String[]数组={',“a”,“b”,“c”,“d”};
List List=newarraylist(Arrays.asList(array));
removeAll(Arrays.asList(“,null));
array=list.toArray(新字符串[list.size()]);
System.out.println(array.toString(array));

输出:[a、b、c、d]

很酷,你的问题是有道理的。但是你忘了发代码了。请编辑您的问题并发布您自己尝试解决此问题时编写的代码。这不清楚。您正在显示的输出是如何创建的?
字符串[]
不包含逗号,它们是打印输出的一部分,在这种情况下,您处理的是
字符串[]
中的空字符串元素,而不是前导逗号。或者您可以查看字符串值,而不是
string[]
。我们不知道。您能在问题中添加生成输出的代码吗?谢谢您的回答。我发布了我的代码。很酷,你的问题很有道理。但是你忘了发代码了。请编辑您的问题并发布您自己尝试解决此问题时编写的代码。这不清楚。您正在显示的输出是如何创建的?
字符串[]
不包含逗号,它们是打印输出的一部分,在这种情况下,您处理的是
字符串[]
中的空字符串元素,而不是前导逗号。或者您可以查看字符串值,而不是
string[]
。我们不知道。您能在问题中添加生成输出的代码吗?谢谢您的回答。我发布了我的代码。可能与