问题描述
我如何能够以以下格式获取单词在文本文件中的位置(后跟行号,单词第一个字符的位置)
防爆。
test1 test2 test3
test4 test5 test6
test5的位置应为(2,8)
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();
2楼
逐行读取文件并将其放入ArraList。 然后遍历列表,并在列表的每个元素中搜索搜索文本的出现。 当您在元素中找到文本时,匹配行的行号将为arrayInex +1,文本的位置将为在该行中找到该文本的索引。 希望这可以帮助