【问题标题】:split String in an array在数组中拆分字符串
【发布时间】:2017-01-12 03:09:28
【问题描述】:

感谢您阅读本文。我目前正在制作一个电话簿项目,该项目要求我只使用一个数组来存储值。我的问题是如何将数组中的字符串拆分为两个值?所以我可以搜索某人的姓名并获得他们的姓名和电话号码。

【问题讨论】:

  • 这是作业吗?
  • 我不想对 OP 说些什么,我想请版主暂时屏蔽所有已回答的人的帐户,以便于代表...

标签: java arrays


【解决方案1】:

您可以简单地对数组的任何元素使用 String#split 方法,其分隔符可以是任何字符。这是我选择 : 作为分隔符的示例。

String[] information = { "Castiel Li:123-456-7890" };

String[] args = information.split(":");

String name = args[0];
String phoneNumber = args[1];

【讨论】:

    【解决方案2】:

    如果你有如下数组:

    String[] records = {"Bob, 1", "Mary, 2", "Castiel, 3"};
    

    然后您可以循环遍历记录数组并将 String#split() 方法应用于每个 String 对象。在这种情况下,每个字符串中的分隔符(分隔标记的字符)是“,”,因此对于给定的字符串“名称,数字”,您可以这样做:

    String[] oneRecord = records[i].split(',');
    

    其中oneRecord[i] 将包含两个字符串对象“name”和“number”

    【讨论】:

    • 那么 oneRecord 会存储什么?字符串的前半部分?
    • @CastielLi 我将进行澄清编辑。另外,您能否澄清一下您的程序如何接收输入,以及您的最终数组是否需要是一维的,特别是?您可以使用我描述的逻辑来获得所需的结果,但这完全取决于您希望达到的目标。
    • 我想我明白了。最终的数组将是一维的,并且程序确实接收输入。我只是不确定如何在数组中拆分字符串。我想我只会使用局部变量来与用户输入和数据库进行比较
    【解决方案3】:

    您尚未提供示例输入和输出。但我认为你是说你将电话簿存储在一个单维数组中,如下所示:

    String[] array = {"Abc123", "xyz234", "pqr343"};

    您可以尝试以下方法:

    String phone1 = array[0].replaceAll("[^0-9]", "");
    String name1 = array[0].replaceAll("[0-9]", "");
    
    System.out.println(name1 + " " + phone1);
    

    【讨论】:

      【解决方案4】:

      这样的东西可能使用str.split()

      import java.util.Arrays;
      
      class Main {
        public static void main(String[] args) {
      
          String phoneBook[] = new String[2];
          phoneBook[0] = "John 1234567";
          phoneBook[1] = "Max 2345678";
      
          System.out.println(Arrays.toString(phoneBook));
      
          for(String contact : phoneBook)
             System.out.println("Name: " + contact.split(" ")[0] + " Phone Number: " + contact.split(" ")[1]);
        }
      }
      

      输出:

      [John 1234567, Max 2345678]
      Name: John Phone Number: 1234567
      Name: Max Phone Number: 2345678
      

      试试看here!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-01
        相关资源
        最近更新 更多