Java中如何去除字符串数组指定后缀后转换为2D char数组
实现方案
无需额外生成中间有效字符串数组,直接遍历原始字符串数组单次处理即可,无冗余对象开销,是最优实现方式:
public static void main (String[]args){ // 示例输入构造 String in = "useful1.useless1,useful2.useless2,useful3.useless3,"; String[] strArray = in.split(","); char[][] charArray = new char[strArray.length][]; for (int i = 0; i < strArray.length; i++) { String rawStr = strArray[i]; // 找到.的位置 int dotIndex = rawStr.indexOf('.'); // 截取有效部分转char数组,兼容没有.的异常情况 String usefulPart = dotIndex == -1 ? rawStr : rawStr.substring(0, dotIndex); charArray[i] = usefulPart.toCharArray(); } // 验证输出代码,可按需删除 for (char[] row : charArray) { System.out.println(java.util.Arrays.toString(row)); } }
运行后输出结果和预期完全一致:
[u, s, e, f, u, l, 1] [u, s, e, f, u, l, 2] [u, s, e, f, u, l, 3]
内容的提问来源于stack exchange,提问作者raxnocafi
相关产品推荐
相关产品推荐

