获取单词在文本文件中的位置(行号,行中的位置)

时间:2019-02-25 06:32:11

标签: java bufferedreader filereader

我如何能够以格式获取文本文件中单词的位置 (行号,单词的第一个字符的位置)

例如。

test1 test2 test3

test4 test5 test6

test5的位置应该是(2,8)

2 个答案:

答案 0 :(得分:1)

使用Java 8,简单的解决方案是:-

List<String> lines = Files.lines(Paths.get("somefile.txt")).collect(Collectors.toList());
int lineNumber = IntStream.range(0,lines.size()).filter(i -> lines.get(i).contains("test5")).findFirst().getAsInt();
int charPosition = lines.stream().filter(l->l.contains("test5")).map(l-> l.indexOf("test5")).findFirst().get();

答案 1 :(得分:0)

逐行读取文件,并将其放入ArraList。然后遍历列表,并在列表的每个元素中搜索搜索文本的出现。当您在元素中找到文本时,匹配行的行号将为arrayInex +1,文本的位置将为在该行中找到该文本的索引。希望这会有所帮助