我得到了下一个代码,目的是读取一个文件,并打印出一行上的第三个字符串,该文件是这样的:
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
答案 0 :(得分:1)
您可以从一行获取文本并使用REGEX提取第N个单词吗?
/ (?:\b\w+\b){Nth} /
这里是如何使用正则表达式搜索字符串 https://stackoverflow.com/a/600740/6726261