在某个索引中拆分字符串数组以创建一个字符串矩阵来移除您拆分的元素的最佳方法是什么?例如,对于字符串数组["Good","Bad","Sad"]
如果我在1拆它,它会给我这个样子[["Good"],["Sad"]]
在java中分割一个字符串数组
0
A
回答
1
好ivanovic的答案解释了如何简单地从java集合(列表)中删除一个字符串序列中的元素。这确实是实现这一目标的直接方式(删除元素)。
但是,我对OP的问题的理解是,他得到一个字符串数组作为参数,并希望返回一个二维字符串数组。 “split-index”元素不应包含在结果String [] []中。在我的理解
基地,所以我再添答案:
final String[] input = new String[] { "one", "two", "three", "four", "five", "six", "seven", "eight" };
final int len = input.length;
final int pos = 3;
final String[][] result = new String[2][Math.max(pos, len - pos - 1)];
result[0] = Arrays.copyOf(input, pos);
result[1] = Arrays.copyOfRange(input, pos + 1, len);
以及这甚至不是一个Java的方法,但它说明了如何获取结果。在上面的例子中,其结果将是一个2-d阵列,[[one, two, three], [five, six, seven, eight]]
编辑:
它包装在一个方法是容易的:
public static String[][] splitStringArray(String[] input, int pos) {
final int len = input.length;
final String[][] result = new String[2][Math.max(pos, len - pos - 1)];
result[0] = Arrays.copyOf(input, pos);
result[1] = Arrays.copyOfRange(input, pos + 1, len);
return result;
}
注意,错误处理部分是不存在的,例如pos outofbound处理,NPE检查(输入)等,你可以自己做,我相信。
5
可以使用ArrayList
代替阵列字符串矩阵。从数组列表中移除随机元素非常容易,因为它是动态的。
ArrayList>String> list = new ArrayList<String>();
...
list.remove(1);
相关问题
- 1. 在Java中分割一个字符串,
- 2. 的Java字符串分割到数组
- 3. 从字符串数组中分割数字在java中
- 4. 分割字符串数组
- 5. 分割字符串数组
- 6. 分割字符串数组
- 7. 字符串分割数组
- 8. 字符串分割到一个字符串数组的元素
- 9. javascript在数组中分割字符串
- 10. 的Java在Java中分割字符串
- 11. 如何在每三个字中分割一个字符串(JAVA)
- 12. 使用||将字符串分割成Java字符串数组或|
- 13. 将字符串分割成单个字符字符串数组
- 14. 分割一个字符串
- 15. 分割字符串数组成字符
- 16. 在PHP中分割一个字符串
- 17. 在SparkSQL中分割一个字符串
- 18. 在PowerShell中分割一个字符串
- 19. 在groovy中分割一个字符串
- 20. 在多个拆分参数中分割java中的字符串
- 21. 在java中将字符串分割成多个子字符串
- 22. 分割一个字符串,但不要在字符重复时分割java
- 23. 在X个逗号后分割一个字符串数组
- 24. 在某个子字符串中分割一个字符串?
- 25. 如何在java中分割一个没有数组的字符串?
- 26. 在java中分割为字符串数组添加空格
- 27. 带数字的Java分割字符串
- 28. 每N个字符/数字分割一个字符串/数字?
- 29. 将字符串分割一个字符
- 30. 在Java中分割字符串
你可以用一种方法包装这可能我不是很确定每个变量正在做什么 – popgalop
@popgalop答案更新 – Kent
,但不会只适用于具有3个元素的阵列 – popgalop