java拆分字符串并将其放置在数组位置

时间:2018-11-28 01:20:50

标签: java arrays string jxl

所以我正在使用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(" ");
    }
}

1 个答案:

答案 0 :(得分:0)

无论何时分配变量,它都会被覆盖

format[0] = rename

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

在您的示例中,for循环的每次迭代都覆盖了'format'数组。循环完成后,“格式”将仅包含最新拆分的值。

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