繁体   English   中英

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

[英]Get position of a word in a text file (line number, position in line)

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

防爆。

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,文本的位置将为在该行中找到该文本的索引。 希望这可以帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM