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,它们比传统数组更易于管理,您可以简单地遍历拆分值并将它们附加在末尾。
所以我使用 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,它们比传统数组更易于管理,您可以简单地遍历拆分值并将它们附加在末尾。