心晴天 2017-06-22 07:20 采纳率: 53.8%
浏览 2242
已采纳

java 中将一个字符串由 ";" " ," "=" 号 拆分并存入二维数组中

下面是我写的错误代码, 正确的返回值应该是 这种格式 [0][10] [1][15] [2][20] [3][30] [4][40]

谢谢

    @Override
    public String[][] getChartdtlsSplit(BasicChart basicChart) {//String[][]代表多维数组了.[][],可以理解为几行几列了.类型为String的.
            //String value = basicChart.getChartname();
            String value = "a=10,ab=15;b=20,bc=30;c=40;";

        //以 ; 与 = 进行拆分
        String[] temp  = value.split(";"); // 通过分号将字符串拆分成一维数组{"a=10";"ab=15";"B=20"}  
        String[][] arr = new String[temp.length][];// 初始化一个二维字符串数组,只指定了行数  
        for (int i = 0; i < temp.length; i++) {
            String[] tempAgain = temp[i].split(",|="); //继续分割并存到另一个一临时的一维数组当中  
            arr[i] = new String[tempAgain.length]; //根据tempAgain中的数组长度,为二维数组的列赋值  
            for (int j = 0; j < tempAgain.length; j++) { //  [a][10]  
                arr[i][j] = tempAgain[j];  //为二维数组赋值  
            }  
        }  
        return arr;  
                //最后返回二维数组,[0][10]  [1][15]  [2][20]  [3][30]  [4][40]
    }

  • 写回答

8条回答 默认 最新

  • 丵鹰 2017-06-22 08:29
    关注

    使用正则把数据取出,在组合成二维数组

     String value = "a=10,ab=15;b=20,bc=30;c=40;";
                 String regex="\\d+";
                Pattern pattern =Pattern.compile(regex);
    
                 List list=new ArrayList();
                 Matcher matcher = pattern.matcher(value);
                 int j=0;
                 while(matcher.find()){
                     list.add(matcher.group().toString());
                     j++;
                 }
                 String[][] arr = new String[j][2];// 初始化一个二维字符串数组,只指定了行数  
                 for (int i = 0; i < list.size(); i++) {
                     arr[i][0]=i+"";
                     arr[i][1]=list.get(i).toString();
                }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况