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