如何在java中拆分数组中的字符串?

时间:2014-03-21 19:21:56

标签: java

我已成功将文件中的字符串放入数组中。现在我想从数组中拆分字符串,以便我可以创建搜索。 这是文件文字模式

file.txt的

student ID : 1
student name: dell

student id :2
student name:kelly

我的逻辑:

1)从文件中获取字符串并放在数组中,即array [0]包含学生ID:1,a [1]包含学生姓名:dell。

2)现在将当前数组拆分为更多数组 现在任何一个请告诉我我该怎么做才能制作这样的数组数据....

array[0] = student ID
array[1] = 1
array[2] =dell
array[3] = student ID
array[4]= 2
array[5] = kelly
.
.
.

我的代码应该怎么做???

BufferedReader br = new BufferedReader(new FileReader(new File("file.txt")));
String line = br.readLine();
                List<String> list = new ArrayList<String>();  
                while(line  != null)
                {

                    list.add(line); // add lines in list
                    line = br.readLine(); // read next line
                }
            //  String[] stringArr= line.split(" : ");
                String [] stringArr= list.toArray(new String[0]);
                list.add(stringArr[0]);
                System.out.println(stringArr[1]);
            //  System.out.print(stringArr[2]);


            } 

3 个答案:

答案 0 :(得分:0)

string [] myarray = a [0] .split(“:”);

string [] myarray2 = a [1] .split(“:”);

array [0] = myarray [0];

array [1] = myarray [1];

array [2] = myarray2 [1];

它应该有用。

答案 1 :(得分:0)

使用

替换while循环内的list.add(line);
for (String token : line.split(":")) { // Splitting each line with ':'
    if (!token.trim().equals("student name")) { // Adding token to list conditionally.
        list.add(token);
    }
}

然后,您可以轻松调用list.toArray()方法将列表转换为数组。

祝你好运。

答案 2 :(得分:0)

为什么要使用两个数组?如果你的文件是a.txt并且你想这样做,你只需要使用:作为分隔符char并使用一个标记器,释放字段学生名(第四个标记中的第三个):

File file=new File("a.txt");
    try {            
        Scanner scanner = new Scanner(file);
        String text="";
        while (scanner.hasNextLine())text+=scanner.nextLine()+":";
        scanner.close();
        StringTokenizer a=new StringTokenizer(text,":");
        List<String> arr=new ArrayList<String>();
        for(int i=2;a.hasMoreTokens();i++){ //starts from 2 because discharge the third every 4 tokens.
            if(i%4==0)a.nextToken();
            else arr.add(a.nextToken());
        }
        String[] array=(String[])arr.toArray();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }

希望它有所帮助。