gpt4 book ai didi

java - java中的正则表达式["0-9"]问题

转载 作者:行者123 更新时间:2023-12-02 08:20:57 25 4
gpt4 key购买 nike

我有一个文本文件,如下:

<小时/>
Title
XYZ
Id name
1 abc
2 pqr
3 xyz
<小时/>

我需要读取以整数值开头的内容,并且我使用了正则表达式,如以下代码所示。

public static void main(String[] args) throws FileNotFoundException {
FileInputStream file= new FileInputStream("C:\\Users\\ap\\Downloads\\sample1.txt");
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
if (line.startsWith("[0-9]")) {
System.out.println("Line: "+line);
}
}
}

上面的代码无法检测以整数开头的行。但是,如果将单个整数值传递给 startsWith() 函数,它就可以正常工作。请指出我哪里出错了。

最佳答案

String#startsWith(String)方法不采用正则表达式。它需要一个字符串文字。

要检查第一个字符是否为数字,您可以使用 String#charAt(int index) 获取索引 0 处的字符。方法。然后使用 Character#isDigit(char) 测试该字符是否为数字方法:

if (Character.isDigit(line.charAt(0)) {
System.out.println(line);
}

关于java - java中的正则表达式["0-9"]问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19141661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com