将字符串数组拆分为另一个数组?

时间:2014-11-06 16:22:43

标签: java arrays string

我想将一个大文本文件拆分成单个单词,因为我需要随机播放每个单词的字母。

ReadFile file = new ReadFile(file_name);
String[] aryLines = file.OpenFile();

这是show我在文本文件中用文本读取并给出输出:

[This is Line One. , This is Line Two. , This is Line three. , End.]

如何将其拆分为{This,is,Line,One}等? 我试过了

aryLines.split("\\s+");

但它不起作用,因为aryLines是一个数组......

4 个答案:

答案 0 :(得分:0)

    for (String string : arrLines) {
            string.split(",");
    }

你有和数组,你只需要为每个数组做一个并拆分你得到的每个数组中的内容。

我希望这对你有所帮助。

答案 1 :(得分:0)

鉴于:

String[] aryLines = {
    "This is Line One.", "This is Line Two.", "This is Line three.", "End."
};

要获得您正在寻找的结果,您需要拆分数组的内容,而不是数组本身:

ArrayList<List<String>> arrayList = new ArrayList<List<String>>();
for (String aString : aryLines) {
    arrayList.add(Arrays.asList(aString.split("\\s+")));
}

如果您打印arrayList,那么您将获得:

[[This, is, Line, One.], [This, is, Line, Two.], [This, is, Line, three.], [End.]]

答案 2 :(得分:0)

根据文件的大小,您可以将文件读入String,然后使用正则表达式调用split

 string.split("(\\ )");

这会给你一个带有单词(和标点符号)的String数组。

或者,如果文件非常大,您可以像现在一样逐行读取它,然后通过迭代它并将拆分的单词添加到集合中来拆分每一行。

ReadFile file = new ReadFile(file_name);
String[] aryLines = file.OpenFile();
List<String> words = new ArrayList<String>();
for (String line : aryLines) {
    for (String word : line.split("\\ ")) {
        words.add(word);
    }
}

答案 3 :(得分:0)

试试这段代码:
这里,我只是得到第一部分的输出,即“这是第一行”。分割并存储在数组“aryLines1”中{This,is,Line,One。}

public class TestingArray {

    public static void main(String[] args) throws IOException{


        File file  = new File("D:\\1-PROJECTS\\test.txt");
        FileReader fr = new FileReader(file);
        BufferedReader br = new BufferedReader(fr);
        String s;

        List<String> list = new ArrayList();
        while((s=br.readLine())!=null){
            list.add(s);
        }

        String[] aryLines = list.toArray(new String[0]);    
        String[] aryLines1 = aryLines[0].split(" ");

        for(int i=0;i<aryLines1.length;i++){
            System.out.println(aryLines1[i].toString());
        }

    }

}

输出出现: - :此

线
之一。

这是存储在数组“aryLines1”中的内容。

同样,您可以使用(“”)拆分“aryLines”,并将其存储在其他数组中。