split数组中的String

时间:2017-01-12 03:09:28

标签: java arrays

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

4 个答案:

答案 0 :(得分:2)

如果您有如下数组:

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

然后,您可以在循环中迭代记录数组,并将String#split()方法应用于每个String对象。在这种情况下,每个字符串中的分隔符(分隔tokes的字符)是',',因此对于给定的字符串" name,number",您可以:

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

oneRecord[i]将包含两个String对象" name"和"号码"

答案 1 :(得分:1)

您可以在数组的任何元素上使用String#split方法,其分隔符可以是任何字符。这是我选择的一个例子:成为分隔符。

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

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

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

答案 2 :(得分:1)

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

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

您可以尝试以下内容:

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

System.out.println(name1 + " " + phone1);

答案 3 :(得分:1)

这样的事情或许可以使用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!