如何从输出中删除[]?
String omega_str[][] ;
StringBuilder sb=new StringBuilder();
for (String[] row:omega_str)
sb.append(Arrays.toString(row));
String text=sb.toString();
System.out.println("Text : "+text);
我的输出是:
[-0.06409677515180673][0.12516724483856012][-0.06188844693840026][0.1542289929525214][-0.06603595481351604][0.07823062287735344][0.10161817634744892]
预期产出
-0.06409677515180673 0.12516724483856012 -0.06188844693840026 0.1542289929525214 -0.06603595481351604 0.07823062287735344 0.10161817634744892
怎么做?
答案 0 :(得分:3)
你不应该先生产东西,然后将其移除。 [...]
是Arrays.toString
的结果。最好循环遍历子数组并将值打印到字符串构建器。
sb.append(' ');
sb.append(row[0]);
答案 1 :(得分:2)
将正则表达式与replaceAll
String str="[-0.06409677515180673][0.12516724483856012]"
+ "[-0.06188844693840026][0.1542289929525214]"
+ "[-0.06603595481351604][0.07823062287735344]"
+ "[0.10161817634744892]";
str=str.replaceAll("[\\[|\\]]", " ");
System.out.println(str);
-0.06409677515180673 0.12516724483856012 -0.06188844693840026 0.1542289929525214 -0.06603595481351604 0.07823062287735344 0.10161817634744892
答案 2 :(得分:1)
只需使用substring()
:
yourString.substring(1, yourString.length() - 1);
答案 3 :(得分:1)
更改
String text=sb.toString();
到
String text=sb.toString().replace('[', ' ').replace(']', ' ');
答案 4 :(得分:1)
在将其添加到StringBuilder
之前跳过[ ]
String str= Arrays.toString(row);
str= str.substring(1,str.length()-1);
sb.append(str);
答案 5 :(得分:1)
将.toString()调用到一个数组将始终生成这样的输出,所以我建议你在这样的数组上调用.toString()之后用空字符串“”替换“[]”:
line.replace("[", "").replace("]", "");
但由于性能问题,它只适用于短字符串。
答案 6 :(得分:1)
尝试使用转义字符replaceAll
:
String str = "[-0.06409677515180673][0.12516724483856012][-0.06188844693840026][0.1542289929525214][-0.06603595481351604][0.07823062287735344][0.10161817634744892]";
str = str.replaceAll("\\[", "").replaceAll("\\]","");
答案 7 :(得分:1)
这将为你做到这一点。
for (String[] row:omega_str) {
for(String val : row) {
sb.append(val + " ");
}
}
String text=sb.toString();
System.out.println("Text : "+text);
因为@Ingo建议不要生成你想要删除的东西
答案 8 :(得分:1)
我认为使用regex
从toString
方法中移除我不喜欢的内容并不是解决问题的好方法。
我将简单地在你的班级中创建一个具有良好名称(即打印....)的方法,如下所示:
public static void printArray(String[][] array) {
System.out.print("Text :");
for (String[] row : array)
for (String element : row)
System.out.print(" " + element);
}
只需致电:
printArray(omega_str);
使用此解决方案,您不必使用StringBuilder
实例。
侨!