【问题标题】:Splitting a string into multiple Arrays将字符串拆分为多个数组
【发布时间】:2015-03-31 15:17:20
【问题描述】:

对于我的程序,来自用户的输入将是这样的:

{1,2,3} {1,2} {4,5,6}

可以有多个{ },其中包含任意数量的...数字。

我已经为每个数字序列制作了一个二维数组:{}

我很难将它们拆分成各自的数组,所以它会是这样的:

Array[0] = ["1","2","3"]    
Array[1] = ["1","2"]  
Array[2] = ["4","5","6"]  

我将如何拆分它?我不知道我是否可以将此字符串拆分为 n 个字符串,因为序列的数量取决于用户。

【问题讨论】:

    标签: java arrays string split


    【解决方案1】:

    在“”(空格)上分割字符串,并从那里删除大括号(可能取一个子字符串,从索引 1 到索引长度 1)。然后用逗号分隔。那应该返回一个包含数字的字符串数组。从那里将字符串解析为整数,并存储在整数数组中。

    【讨论】:

    • 啊,这似乎有效。在再次对它们进行排序之前,我制作了另一个数组来将每个序列作为一个元素保存(现在更容易了)。谢谢:)
    【解决方案2】:

    此代码将帮助您

    public class T {
        public static void main(String[] args) {
    
            String s = "{1,2,3} {1,2} {4,5,6}";
    
            String[] mainArray = s.split(" ");
            String[][] result = new String[mainArray.length][];
            int count = 0;
            for (String t : mainArray) {
                result[count] = t.split(",");
                count++;
            }
    
        }
    }
    

    【讨论】:

      【解决方案3】:
      var x = "{1,2,3} {1,2} {4,5,6}"; 
      var y = x.split(" ");
      var k =[];
      for(var i = 0; i < y.length; i++){
          k.push((y[i].substring(1,y[i].length-1)).split(","));
      } 
      

      嗯,这就是你在 javascript 中的做法,算法。(我的错误阅读标签) K 将是最终的数组。

      【讨论】:

        【解决方案4】:

        创建一个数组集合(输入数组的类型,如果知道的话)。 在“{”上拆分数组。 使用生成的数组,从每个字符串中删除“}”并将其拆分为“,”。 然后遍历生成的字符串数组,解析其内容并构建您的条目类型的数组。 最后,将该数组添加到您的集合中。

        这假设没有子数组,对于您的样本输入是正确的。但是,它不假设用户在给定数组之间添加了空格;我不相信用户会记住这一点。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-10-19
          • 2016-04-01
          • 1970-01-01
          • 2012-02-22
          相关资源
          最近更新 更多