[英]How to delete spaces In an 2D-Array in Java?
我有一个文本文件。 我正在阅读,然后将其放入2D阵列。 有空格。 我需要摆脱那些空间。 但是我不能正确使用trim
。 这是我的代码:
while ((line = br.readLine() ) != null ){
char[] row = line.toCharArray();
line.trim();
int counter = 0;
for (int i = 0; i < row.length; i++) {
maze[counter][i] = row[i];
System.out.print(maze[i]);
counter++;
}
System.out.printf("%n");
}
输出如下:
1 1 1 0
0 0 1 0
0 0 1 0
0 9 1 0
我阅读的文本文件中的元素之间有一个空格。 但是我得到的输出太多了。 我需要得到这个
1110
0010
0010
0910
我认为我应该使用trim
方法,但我无法弄清楚。
例如,您可以将String#split
与\\s+
类的正则表达式结合使用...
String text = "1 1 1 0";
String elements[] = text.split("\\s+");
for (String value : elements) {
System.out.println("[" + value + "]");
}
哪个输出
[1]
[1]
[1]
[0]
(括号显示那里没有空格)
在您的示例中,我可能仍然倾向于使用line = line.trim();
以确保没有前导或尾随空格可能会导致包含空值的情况...
您可以使用(string).replace(" ", '\\0')
将所有空格替换为空格
例如:
String line = "1 2 2 3 4 2 122 23 3 3 3 3"; //example
line = line.replace(' ', '\0'); //'\0' is the key for blank (or nothing)
System.out.println(line);
将产生
122342122233333
这将消除空格,仅使用有效输入(即数字)。 它说行,但是唯一的输入将是相同的字符。
希望这可以帮助。
对我而言,最快的方法是只使用嵌套循环分别打印数组的每个元素。 例如
String [][] maze = new String [4][4];
for (int i = 0; i < maze.length; i++) {
maze[i][0] = "1";
maze[i][1] = "0";
maze[i][2] = "1";
maze[i][3] = "0";
}
for (int k =0;k<maze.length;++k){
for(int j=0;j<maze.length;++j)
{
System.out.print(maze[k][j]);
}
System.out.println();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.