java拆分一个字符串,放入数组位置

java split a string and put into an array position

所以我使用 string.split 因为我需要获取字符串的某些部分然后打印第一部分。零件尺寸可能会有所不同,因此我不能使用子字符串或数学公式。我试图将我需要的所有内容存储在字符串数组中,然后根据位置有选择地打印我需要的内容,这是我可以控制的。但是,我不确定该怎么做,因为我知道当我进行拆分时,它会将两个部分存储在数组中。但是,在一种情况下,我需要保持数组中的该值不变。恐怕如果我这样做

format[0] = rename

它将覆盖该值并弄乱整个数组。我的问题是,当我不知道其他人的位置时,如何为这个值分配一个位置?我需要抢先给它赋值还是给它数组中最后一个可能的值?我附上了一段处理我的问题的代码。我唯一可以补充的是,这是一个更大的循环,重命名的值每次迭代都会改变。不要太在意评论,这些更多是提醒我该做什么,而不是代码应该做什么。非常感谢任何指点、提示和帮助。

String format[];
rename = workbook.getSheet(sheet).getCell(column,row).getContents();
for(int i = 0; i < rename.length(); i++) {
    //may need to add[i] so it has somewhere to go and store
    if(rename.charAt(i) == '/') {                                
        format = rename.split("/");
    }
    else if(rename.charAt(i) == '.') {
        if(rename.charAt(0) == 0) {
           //just put that value in the array
           format = rename;
        } else {
            //round it to the tenths place and then put it into the array
            format = rename.split("\.");
        }
    } else if(rename.charAt(i) == '%') {
        //space between number and percentage
        format = rename.split(" ");
    }
}

每当您分配一个变量时,它都会被覆盖

format[0] = rename

将覆盖此字符串数组的第一个索引。

在您的示例中,'format' 数组将被 for 循环的每次迭代覆盖。循环完成后 'format' 将仅包含最近拆分的值。

我建议考虑使用 ArrayList,它们比传统数组更易于管理,您可以简单地遍历拆分值并将它们附加在末尾。