首页 > 解决方案 > 将搜索功能从字符串更改为整数

问题描述

这是我用来在文本文件中搜索字符串(学生姓名)的函数。但是有没有其他方法可以更改此函数以在文本文件中搜索整数(学生 ID)?

String STUD_NAME;
System.out.println("ENTER STUDENT NAME: ");
Scanner name = new Scanner(System.in);
STUD_NAME = name.nextLine();
Pattern pattern = Pattern.compile("[A-Za-z]*");

if (name.hasNext(pattern)) {

    FileReader fr = new FileReader("student.txt");
    BufferedReader br = new BufferedReader(fr);
    String s;
    String keyword = STUD_NAME;

    while ((s = br.readLine()) != null) {
        if (s.contains(keyword)) {
            System.out.println(s);
        }

    }
} else {
    System.out.println("PLEASE ENTER ALPHABETS NOT NUMBERS/SYMBOLS");
}

标签: java

解决方案


在您的代码中将“[A-Za-z]*”替换为“[\d]+”这将替换您对字符串的搜索以搜索整数。如果您确切知道 ID 有多少个数字,则可以使用以下命令:“[\d]{5}”,并将匹配 5 个数字的整数,例如:24453


推荐阅读