获取List <string>行中的一个特定索引字符串

时间:2017-05-26 16:13:48

标签: java

我得到了下一个代码,目的是读取一个文件,并打印出一行上的第三个字符串,该文件是这样的:

Reforma_Protestante - ABSTRACCAO|ACONTECIMENTO - IDEIA|EFEMERIDE
Europa - LOCAL - HUMANO
Cativeiro_Babilónica_da_igreja - ACONTECIMENTO - EFEMERIDE
Avignon - ACONTECIMENTO - EVENTO

我得到的代码只打印文本行:

List<String> lines = Files.readAllLines(Paths.get("file.txt"));
...
for (int xi=0;xi < lines.size();xi++)
{
    if(lines.get(xi).contains(tt[2]))
    {
        System.out.println(lines.indexOf(lines) );
        com+= tt[0]+"\t"+tt[1]+"\t"+tt[2]+"\t"+"LINES.INDEXOF(2)"+"\t"+"LINES.INDEXOF(4)"+"\t"+tt[5]+"\t"+dt.get(tt[6])+"\n";
        lines.remove(xi);
    }
}
...

我希望 LINES.INDEXOF(2)在文件行(xi)和索引2上出现的单词,所以在这种情况下,第一个应该是 ABSTRACCAO | ACONTECIMENTO

LINES.INDEXOF(4)的现场,我想 IDEIA | EFEMERIDE

我尝试了lines.get(xi).indexof(2),但输出为-1

1 个答案:

答案 0 :(得分:1)

您可以从一行获取文本并使用REGEX提取第N个单词吗?

/ (?:\b\w+\b){Nth} /

这里是如何使用正则表达式搜索字符串 https://stackoverflow.com/a/600740/6726261