java - 将搜索功能从字符串更改为整数
问题描述
这是我用来在文本文件中搜索字符串(学生姓名)的函数。但是有没有其他方法可以更改此函数以在文本文件中搜索整数(学生 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");
}
解决方案
在您的代码中将“[A-Za-z]*”替换为“[\d]+”这将替换您对字符串的搜索以搜索整数。如果您确切知道 ID 有多少个数字,则可以使用以下命令:“[\d]{5}”,并将匹配 5 个数字的整数,例如:24453
推荐阅读
- java - Delayed ExecutorService with manual start
- excel - VBA在excel中循环A列中的每个单元格
- javascript - 将数组的值推送到对象的值
- firebase - 重定向“源”中的查询参数是否仍然不允许?
- udp - 通过 UDP 从 ftp 下载文件但未呈现路径
- reactjs - 存储在 XSTATE 中以便跨组件访问?
- react-native - 使用滚动 Y 插值反应原生视图不透明度
- java - 如何在 Selenium JAVA 和 TestNG 中使用 log4j2x 在日志文件中打印“系统生成的日志”?
- javascript - 在哈希表上添加元素
- typescript - 是否可以有条件回调参数类型?(例如,如果 arg1:字符串,则 arg0:null)