我想将一个大文本文件拆分成单个单词,因为我需要随机播放每个单词的字母。
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是一个数组......
答案 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”,并将其存储在其他数组中。