gpt4 book ai didi

java - java中忽略空格和制表符

转载 作者:行者123 更新时间:2023-12-02 05:56:32 25 4
gpt4 key购买 nike

当我尝试忽略两个数字之间的制表符时,我收到一条错误消息,错误显示如下:在我读取的文本文件中,有一些单位数字和一些两位数字,这就是我使用 .substring(42 ,44);

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "5    "
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at readTheFile.setSenID(readTheFile.java:230)
at Sensor.setSensorID(Sensor.java:69)
at getDrink.<init>(getDrink.java:22)
at controlPanel$1.actionPerformed(controlPanel.java:54)

我尝试了几种替换空格和制表符选项,例如 temp.replaceAll("//t","") 或 ("\s+","")。我似乎无法找到一种方法来读取 int 。有什么想法吗?

这是我认为导致问题的代码

BufferedReader bufferedReader = new BufferedReader(fileReader);


int lineNumber = 0;

ArrayList<Integer> SenID = new ArrayList<Integer>();
while((line=bufferedReader.readLine())!=null){
lineNumber++;
if (lineNumber >= 24) {
String temp = line.substring(42, 44);
temp.replaceAll("//s+", ""); //think error is here
int x = Integer.parseInt(temp);
SenID.add(x);
}
}

这是我正在读取的文件

25-Feb-2008 00:20:14    25-Feb-2008 00:22:57    24  1
25-Feb-2008 09:33:41 25-Feb-2008 09:33:42 24 1
25-Feb-2008 09:33:47 25-Feb-2008 17:21:12 24 1
25-Feb-2008 09:36:43 25-Feb-2008 09:37:04 5 1
25-Feb-2008 09:37:20 25-Feb-2008 09:37:23 6 1
25-Feb-2008 09:37:51 25-Feb-2008 09:37:52 14 1
25-Feb-2008 09:37:55 25-Feb-2008 09:37:56 14 1
25-Feb-2008 09:37:58 25-Feb-2008 09:38:01 6 1

最佳答案

这个

temp.replaceAll("//s+", "");

应该是

temp = temp.replaceAll("//s+", "");

字符串是不可变的,因此诸如 replaceAll()trim() 等方法将返回一个新字符串,而不是修改现有字符串。

关于java - java中忽略空格和制表符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23045565/

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