从.txt文件中获取单词 - Java

时间:2015-11-03 19:17:50

标签: java arrays

我的任务是从dictionary.txt文件中随机获取100个单词。我已经能够使用扫描仪读取文件,根据每个新行填充数组(将单词+定义分别分别为单个元素),然后对其进行格式化以删除括号。 但是,现在我需要弄清楚如何从每个数组元素中获取第一个单词,可能是通过使用正则表达式或者每个元素中的第一个单词以空格结束的事实。

我的问题是如何只抓取每个数组元素中的第一个单词,或者,如下所述,每行抓取第一个单词。

2 个答案:

答案 0 :(得分:0)

您可能只想使用yourString.split(" ")[0]

但是,我认为构建所有线路的阵列是浪费的。您可以使用扫描仪构建文件的第一个单词的数组,或者您甚至可以进行第一次解析来计算行数,然后只构造最终的期望结果。

哦,你的正则表达式文化的最后一个编辑:适当的正则表达式是^\S+,它在字符串的开头抓取所有非空格字符。它最有可能比使用String.split()效率低。

答案 1 :(得分:0)

从每行抓取第一个单词的最简单方法是使用indexOf()substring()

String[] lines = new String[100];
String[] words = new String[100];
int x;

//your code for getting the lines of text from the file goes here

for (int i=0; i<lines.length; i++) {
    x = lines[i].indexOf(" ");
    words[i] = lines[i].substring(0, x);
}