如何使用reaLline()使用正则表达式在文件中查找匹配项并将其打印到控制台

NoBToCode

我试图让用户输入一个班级编号和名称,以提取关于我在文件中拥有的该班级的信息列表。我已经弄清楚了如何使用.toRegex匹配信息。我不知道如何使用用户输入来找到他们需要的匹配,而不是文件中的所有匹配。我对Regnex非常陌生。

  val pattern = """\d+\s+([A-Z]+).\s+(\d+)\s.+\s+\w.+""".toRegex()
  val fileName = "src/main/kotlin/Enrollment.txt"
  var lines = File(fileName).readLines()// reads every line on the file
    do{
        print("please enter class name")
        var className = readLine()!!
        print("please enter class number ")
        var classNum = readLine()!!

        for(i in 0..(lines.size-1) ){
            var matchResult = pattern.find(lines[i])
             if(matchResult != null) {
                 var (className,classNum) = matchResult.groupValues
                 println("className: $className, class number: $classNum ")
             }
        }
    }while (readLine()!! != "EXIT") ```


example line from file 

      Name  Num
 0669 HELP  134  AN        CV  THING ETC  4.0  4.0 Smith P      001 0173  MTWTh       9:30A 10:30A    23     15     8  4.0 
NoBToCode

您需要在从用户获得的模式中使用一个变量。readLine()使用循环检查每一行,并使用另一个循环检查模式是否在该行中。pattern.containMatchIn()

        val className = readLine()!!.toUpperCase()
        print("please enter class number ")
        val classNum = readLine()!!

        val pattern = """\s+\d+\s+$className.\s+$classNum""".toRegex()
 for(i in 0..(lines.size-1) ) {
            var matchResult = pattern.find(lines[i])
            if(matchResult != null ){
                if (pattern.containsMatchIn(lines[i])) {
                    println(lines[i])
                  }
              }
     }```

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python正则表达式,将模式从匹配项中拉出并将其用作回输给匹配项的输入

来自分类Dev

如何在文件中查找所有正则表达式匹配项

来自分类Dev

使用正则表达式查找匹配项-Perl

来自分类Dev

使用正则表达式在同一行上查找多个匹配项

来自分类Dev

如何使用PowerShell删除与正则表达式匹配的文件夹中的文件?

来自分类Dev

如何使用正则表达式为一个属性查找多个匹配项?

来自分类Dev

使用C ++正则表达式查找首个匹配项的索引

来自分类Dev

使用正则表达式查找字符串中的所有匹配项

来自分类Dev

Python正则表达式-在文件中查找模式并将其放在列表中

来自分类Dev

MongoDB控制台-使用正则表达式基于嵌套对象在数组中查找和提取对象

来自分类Dev

如何在Matlab / Octave中使用正则表达式(正则表达式)来查找重叠的匹配项

来自分类Dev

使用Javascript以任意顺序使用正则表达式查找字符串中的所有匹配项

来自分类Dev

获取两个模式之间的所有正则表达式匹配项并将其打印到文件中

来自分类Dev

如何使用搜索/替换在Vim中访问正则表达式匹配项?

来自分类Dev

正则表达式使用字典对查找匹配项

来自分类Dev

如何使用正则表达式为一个属性查找多个匹配项?

来自分类Dev

使用正则表达式查找不匹配项(多行)

来自分类Dev

在查找/替换中使用正则表达式替换多个匹配项

来自分类Dev

如何使用正则表达式查找文件并将其列出?

来自分类Dev

查找不同文件的两列之间的匹配项并将其打印到不同的列中

来自分类Dev

如何查找在正则表达式中不包含字符串的匹配项

来自分类Dev

批处理:使用正则表达式将匹配的行从管道的输出返回到控制台

来自分类Dev

使用正则表达式查找多个匹配项

来自分类Dev

用于在Jenkins控制台日志中查找特定文本的正则表达式

来自分类Dev

在 Python 中使用正则表达式查找重叠匹配项和子匹配项

来自分类Dev

Python - 使用正则表达式查找多个匹配项并按特定顺序报告

来自分类Dev

如何使用正则表达式根据关键字字符串匹配整行并将其清空

来自分类Dev

如何使用正则表达式查找并替换 txt 文件中行首的 (.) 然后将其删除?

来自分类Dev

使用正则表达式查找字符串中的所有匹配项

Related 相关文章

  1. 1

    Python正则表达式,将模式从匹配项中拉出并将其用作回输给匹配项的输入

  2. 2

    如何在文件中查找所有正则表达式匹配项

  3. 3

    使用正则表达式查找匹配项-Perl

  4. 4

    使用正则表达式在同一行上查找多个匹配项

  5. 5

    如何使用PowerShell删除与正则表达式匹配的文件夹中的文件?

  6. 6

    如何使用正则表达式为一个属性查找多个匹配项?

  7. 7

    使用C ++正则表达式查找首个匹配项的索引

  8. 8

    使用正则表达式查找字符串中的所有匹配项

  9. 9

    Python正则表达式-在文件中查找模式并将其放在列表中

  10. 10

    MongoDB控制台-使用正则表达式基于嵌套对象在数组中查找和提取对象

  11. 11

    如何在Matlab / Octave中使用正则表达式(正则表达式)来查找重叠的匹配项

  12. 12

    使用Javascript以任意顺序使用正则表达式查找字符串中的所有匹配项

  13. 13

    获取两个模式之间的所有正则表达式匹配项并将其打印到文件中

  14. 14

    如何使用搜索/替换在Vim中访问正则表达式匹配项?

  15. 15

    正则表达式使用字典对查找匹配项

  16. 16

    如何使用正则表达式为一个属性查找多个匹配项?

  17. 17

    使用正则表达式查找不匹配项(多行)

  18. 18

    在查找/替换中使用正则表达式替换多个匹配项

  19. 19

    如何使用正则表达式查找文件并将其列出?

  20. 20

    查找不同文件的两列之间的匹配项并将其打印到不同的列中

  21. 21

    如何查找在正则表达式中不包含字符串的匹配项

  22. 22

    批处理:使用正则表达式将匹配的行从管道的输出返回到控制台

  23. 23

    使用正则表达式查找多个匹配项

  24. 24

    用于在Jenkins控制台日志中查找特定文本的正则表达式

  25. 25

    在 Python 中使用正则表达式查找重叠匹配项和子匹配项

  26. 26

    Python - 使用正则表达式查找多个匹配项并按特定顺序报告

  27. 27

    如何使用正则表达式根据关键字字符串匹配整行并将其清空

  28. 28

    如何使用正则表达式查找并替换 txt 文件中行首的 (.) 然后将其删除?

  29. 29

    使用正则表达式查找字符串中的所有匹配项

热门标签

归档