当前位置: 代码迷 >> java >> 获取单词在文本文件中的位置(行号,行中的位置)
  详细解决方案

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

热度:55   发布时间:2023-07-18 09:04:42.0

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

防爆。

test1 test2 test3

test4 test5 test6

test5的位置应为(2,8)

使用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();

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