【发布时间】:2020-01-14 14:20:57
【问题描述】:
我有一个数组String ar[] = {"HalloWelt", " "};,ar.length 是 2。
它确实在索引 0 上的“HalloWelt”中注册了两个值,并在索引 1 上注册了一个空白/空字符串;
我想知道如何删除索引 1 - > 上的空白空间,但也将其保留为字符串数组,因为它是下一个任务所必需的。或者如何进行一堆转换,但最终以字符串数组结束。
我的尝试
public String[] arraysWhiteSpaceEliminator(String[] arr) {
int k=0; //Identify how big the array should be i.e. till it reaches an empty index.
for(int i=0; i<bsp.length;i++) {
arr[i].trim();
System.out.println(arr[i].isEmpty());
if(arr[i].isEmpty()) {
}
else {
k = k+1; //if the index isn't empty == +1;
}
}
String[] clearnArray = new String[k];
for(int s = 0; s<k; s++) {
clearnArray [s] = arr[s]; //define New Array till we reach the empty index.
//System.out.println(clearnArray [s]+" " +s);
}
return clearnArray ;
};
逻辑很简单:
- 确定
clearnArray的大小。 - 使用 .trim() 遍历原始数组以删除空白并检查 isEmpty()。
- 如果索引不是空的,则添加到
k。 - 使用
k作为大小创建clearnArray。 - 循环遍历原始数组直到
k-> 将所有项目添加到cleanArray 直到k。
问题:.trim() 和 .isEmpty() 不记录索引为空。 ?!
【问题讨论】:
-
这个
String ar[] = ["HalloWelt",];无效。你的数组是如何初始化的? -
字符串内容 = new String(Files.readAllBytes(path), Charset.defaultCharset());字符串 [] 数据 = content.split(",\\R");内容 -> 从文件信息块中读取。此块通常由“,”划分,最后一个也没有任何信息 - >这是空白的来源。
-
不清楚是否要 (a) 调整数组大小以排除空白字符串,(b) 将空白字符串转换为空字符串,(c) 将空白字符串转换为空
标签: java arrays string is-empty