【问题标题】:Get position of a word in a text file (line number, position in line)获取文本文件中单词的位置(行号,行中的位置)
【发布时间】:2019-02-25 06:32:10
【问题描述】:

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

例如

测试1测试2测试3

test4 test5 test6

test5 的位置是 (2,8)

【问题讨论】:

标签: java bufferedreader filereader


【解决方案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 并且文本的位置将是在该行中找到文本的索引。希望这会有所帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-20
      • 1970-01-01
      • 2012-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-29
      相关资源
      最近更新 更多